2

我有一个我正在处理的 WCF 主机服务,需要按照特定标准创建它。我正在使用自定义绑定来实现标准的大部分要求。

响应和请求标头中需要 WS-Addressing 标头,尽管有些似乎是自动配置的,但我们缺少“MessageID”、“From”和“To”元素。

我们使用消息检查器和“BeforeSendRequest”方法在测试客户端上添加了“From”、“To”和“ReplyTo”标头。这按预期工作。

在主机服务上,我们尝试使用“BeforeSendReply”方法对“MessageID”、“From”和“To”元素使用相同的方法。但是,消息中仅显示“MessageID”和“From”标头。未添加“To”标头。

任何人都可以提供任何建议
1. 如何在响应消息中包含/添加“TO”ws-addressing 标头?
2. WCF 没有使用消息检查器方法在消息中添加“To”标头进行响应的原因是什么?

4

1 回答 1

0

它基本上归结为将您的ManualAddressing属性设置为 true,以便通知服务底层的通道他不应再干预 To: 标头。

这可以通过 web.config 中的自定义绑定来完成:

<customBinding>
  <binding name="customBinding_manualAddressingEnabled">
    <textMessageEncoding />
    <httpTransport manualAddressing="true"/>
  </binding>
</customBinding>

请参阅答案以获取更多详细信息。

于 2017-04-16T20:54:41.897 回答