從wcf消息中檢索正文時遇到了一些問題。我試圖實現WCF消息檢查器來驗證消息對XSD架構。從WCF消息獲取正文
SOAP體看起來像以下:
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Header xmlns="http://www.test1.com">
<applicationID>1234</applicationID>
</Header>
<GetMatchRequest xmlns="http://www.tempuri.org">test</GetMatchRequest>
</s:Body>
問題是,當我試圖讓身體只得到部分機構留言。僅獲取頭元素,忽略GetMatchRequest元素(可能是因爲多個命名空間的...)
我使用下面進入正文:
XmlDocument bodyDoc = new XmlDocument();
bodyDoc.Load(message.GetReaderAtBodyContents().ReadSubtree());
我也曾嘗試以下操作:
bodyDoc.Load(message.GetReaderAtBodyContents());
上面的代碼導致錯誤 - 這個文檔已經有一個'DocumentElement'節點。
任何人都可以請求從WCF消息中提取正文的幫助嗎?
感謝
請告訴我們您的服務合約是什麼樣的。一般來說,你不需要擔心SOAP通過網絡。 WCF將這些內容抽象出來,以便您可以處理對象調用等。 – 2011-05-22 22:32:12
爲什麼你覺得你需要驗證XML?如果將無效的XML發送到您的服務中,您認爲會發生什麼?你認爲什麼樣的代碼會向你發送無效的XML,如果你告訴它該XML無效,你認爲這些代碼會做什麼? – 2011-05-22 23:34:11