我想知道下面的元素的含义:
<a:To s:mustUnderstand="1">http://localhost/w.Web/service.svc</a:To>
看来当url错误时WCF服务仍然处理soap请求。
为什么我在其他站点看到的 SOAP 消息中没有它?
有什么想法吗?
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing">
<s:Header>
<a:ReplyTo>
<a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
</a:ReplyTo>
<a:To s:mustUnderstand="1">http://localhost/w.Web/service.svc</a:To>
</s:Header>
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
...
</s:Body>
</s:Envelope>
最佳答案
To header 是 WS-Addressing 协议(protocol)的一部分。它定义了消息的目的地(例如,消息路由器可以使用它来将消息传递到真正的目的地)。仅当使用 WS-Addressing 时,它才会包含在 SOAP 消息中。使用 WsHttpBinding
时,WCF 始终使用寻址。
关于wcf - header 中的 WS-Addressing "To"元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8902853/