我已将问题归结为下面的<Action s:mustUnderstand="1"
位。
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none"></Action>
<ActivityId CorrelationId="ec9c7c4e-2e7e-4310-8ad1-99e453b29560" xmlns="http://schemas.microsoft.com/2004/09/ServiceModel/Diagnostics">45abb8ea-8d9f-4fc2-aeb7-580884cae02e</ActivityId>
</s:Header>
<s:Body>
[redacted]
</s:Body>
</s:Envelope>
当mustUnderstand=1
存在服务barfs时,返回Web服务器500错误页面,而不是xml;随着它mustUnderstand=0
或整个<Action
被删除它就像一个梦想。
我已经尝试了标准basicHttpBinding
以及以下customBinding
尝试简化来自here的消息:
<binding name="httpSoap12">
<textMessageEncoding messageVersion="Soap12" />
<httpTransport />
</binding>
我看到很多人都在为这个特殊问题苦苦挣扎;但似乎没有人能找到我能找到的解决方案。
删除动作位批发,或设置mustUnderstand =&#34; 0&#34;两者都允许服务处理我的传入消息。我欢迎一个解决方案来做其中任何一个,或者我还没想到的替代方案。我应该指定我已经手动完成了删除/修改。我无法从我的代码中找到一种方法。