WCF - 使用SoapUI进行测试时SOAP Action不匹配错误

时间:2013-07-11 14:17:39

标签: c# .net wcf soapui

我该如何解决这个问题?

>  <s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope"
> xmlns:a="http://www.w3.org/2005/08/addressing">    <s:Header>
>       <a:Action s:mustUnderstand="1">http://www.w3.org/2005/08/addressing/fault</a:Action>
> </s:Header>    <s:Body>
>       <s:Fault>
>          <s:Code>
>             <s:Value>s:Sender</s:Value>
>             <s:Subcode>
>                <s:Value>a:ActionMismatch</s:Value>
>             </s:Subcode>
>          </s:Code>
>          <s:Reason>
>             <s:Text xml:lang="en-US">The SOAP action specified on the message, '', does not match the HTTP SOAP Action,
> 'XX.XXX.WebServices.XXXXService/XXXXService/AuthenticateUser'.</s:Text>
>          </s:Reason>
>          <s:Detail>
>             <a:ProblemHeaderQName>a:Action</a:ProblemHeaderQName>
>          </s:Detail>
>       </s:Fault>    </s:Body> </s:Envelope>

2 个答案:

答案 0 :(得分:2)

配置SOAPUI以发送此http标头:

SOAPAction=XX.XXX.WebServices.XXXXService/XXXXService/AuthenticateUser

答案 1 :(得分:0)

显然你正在使用soap 1.2(参见&#39; http://www.w3.org/2003/05/soap-envelope&#39;),并使用&#39; SOAPAction&#39;不适用于肥皂1.2(仅适用于肥皂1.1)。

对于肥皂1.2,肥皂的作用可以在&#39;内容类型&#39;最后的标题,它会说&#39; Content-Type:application / soap + xml; charset = UTF-8; action = ...&#39;。

我遇到了同样的问题,但在这里找不到答案。 唯一对我有用的是使用WS-Addressing。 你找到了不同的解决方案吗?