我正在尝试使用 ClientMessageInspector 修改来自 Web 服务的响应。在某些时候,我需要Message
从修改后的XMLStream
. 流的内容如下:
<soapenv:Envelope xmlns:soapenv="http://env" xmlns:xsd="http://xsd" xmlns:xsi="http://xsi" xmlns:v1="http://v1">
<soapenv:Body>
<v1:VM>
<SH>
<a>aa</a>
<b>bb</b>
</SH>
</v1:VM>
</soapenv:Body>
</soapenv:Envelope>
我尝试使用以下方法创建消息:
System.Xml.XmlReader XMLReader = System.Xml.XmlReader.Create(XMLStream);
Message ModifiedReply = System.ServiceModel.Channels.Message.CreateMessage(OriginalReply.Version, null, XMLReader);
但是,当我使用 Message.ToString() 打印消息内容时,我得到:
<s:Envelope xmlns:s="http://env">
<s:Header />
<s:Body>
... stream ...
</s:Body>
</s:Envelope>
如何防止“...流...”并获取实际的 XML 部分?