使用BizTalk 2010来使用带有BasicHttp绑定的WCF Web服务。
我的服务拒绝来自BizTalk的请求。我可以看到使用跟踪和soapUI,原因是BizTalk在传出消息中发出的“To”标题:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<To s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">http://biztalk01:81/StuffServices.svc</To>
</s:Header>
<s:Body>
<ns0:GetMyStuff xmlns:ns0="http://example.com/stuff" xmlns:ns1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<ns0:inputArray>
<ns1:string>80220</ns1:string>
</ns0:inputArray>
</ns0:GetMyStuff >
</s:Body>
</s:Envelope>
此请求在BizTalk和soapUI中都给出了故障,但如果我尝试在soapUI中发送完全相同的请求而没有To标头(删除“<To s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none"
&gt; http:// biztalk01:81 /StuffServices.svc
“),然后它工作正常并返回正确的响应。
因此,我的问题是:我有什么选择让BizTalk不会在该传出请求中发出“To”soap标头?
答案 0 :(得分:1)
实际上,标头从未在BizTalk发送的请求中,它是由日志中的WCF跟踪添加的。使用Fiddler捕获发送的真实请求让我看到问题出在其他地方。通过在发送端口的绑定配置中添加代理http://127.0.0.1:8888,可以让BizTalk查询通过fiddler。