我正在处理一个需要根据特定标准创建的WCF主机服务。我正在使用自定义绑定来实现标准的大部分要求。
响应和请求标头中需要WS-Addressing标头,虽然有些标题似乎是自动配置的,但我们错过了“MessageID”,“From”和“To”元素。
我们使用消息检查器和“BeforeSendRequest”方法在我们的测试客户端上添加了“From”“To”和“ReplyTo”标头。这按预期工作。
在主机服务上,我们尝试使用“BeforeSendReply”方法对“MessageID”,“From”和“To”元素使用相同的方法。但是,只有“MessageID”和“From”标题出现在消息中。
任何人都可以提出任何建议
1.如何在响应消息中包含/添加“TO”ws-addressing标头?
2. WCF没有使用消息检查器方法为消息添加“To”标头的原因?
答案 0 :(得分:0)
它基本上归结为将ManualAddressing属性设置为true,以便通知服务的基础通道,他不应再使用To:标头进行干预。
这可以通过web.config中的自定义绑定来完成:
<customBinding>
<binding name="customBinding_manualAddressingEnabled">
<textMessageEncoding />
<httpTransport manualAddressing="true"/>
</binding>
</customBinding>
有关详细信息,请参阅answer。