在SOAPUI请求中的EndpointDispatcher上获取AddressFilter不匹配

sam*_*sam 18 xml wcf soapui load-testing

我的服务正常运行如果我通过我的客户端应用程序使用它.我使用相同的wsdl加载SOAPUI.它已成功为每种方法创建了样本测试.我想发送一个请求,它应该相应地生成响应.我可以在请求属性中看到正确的端点地址.它自动生成了一个SOAP XML.如果我尝试运行它来获得响应.它给了我以下错误.

<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/soap/fault</a:Action>
</s:Header>
<s:Body>
  <s:Fault>
     <s:Code>
        <s:Value>s:Sender</s:Value>
        <s:Subcode>
           <s:Value>a:DestinationUnreachable</s:Value>
        </s:Subcode>
     </s:Code>
     <s:Reason>
        <s:Text xml:lang="en-GB">The message with To '' cannot be processed at the receiver, due to an AddressFilter mismatch at the EndpointDispatcher.  Check that the sender and receiver's EndpointAddresses agree.</s:Text>
     </s:Reason>
  </s:Fault>
Run Code Online (Sandbox Code Playgroud)

我不知道在哪里检查这里出了什么问题.在这方面,请有人帮助我.我正在使用SOAPUI4.0.1.

Vip*_*pul 43

问题是因为Request消息缺少To标头.在消息编辑器上,在请求消息窗口下方单击按钮WS-A.然后选中复选框Add default wsa:To

现在运行您的请求,服务将运行正常.

希望有所帮助.

如果确实解决了您的问题,请将其标记为答案.

  • 我需要了解“添加默认 wsa:To”的作用,因为我需要在 PHP 中重新创建消息,但从 SOAPUI 来看它并不明显。我在底部面板的 httplog 中找到了它。它将`&lt;wsa:To&gt;http://[您的端点]&lt;/wsa:To&gt;`添加到消息中 (2认同)

Rav*_*i C 5

您还需要将WS-ReliableMessaging设置为true


Hal*_*oğa 5

我在 biztalk server 2013 r2 中也遇到了同样的问题。 对我有用。我认为我们需要将端点位置通知 biztalk 以发回结果。在soapui 中运行的测试脚本应如下所示:

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:cal="http://CallExec.PO">
   <soap:Header>
    <To soap:mustUnderstand="1" xmlns="http://www.w3.org/2005/08/addressing">http://biztalktbtk/CallOrchestration/Service1.svc</To>

   </soap:Header>
   <soap:Body>
      <cal:PO>
         <PO_Num>1</PO_Num>
         <Weight>1</Weight>
         <shipmentPrice>1</shipmentPrice>
      </cal:PO>
   </soap:Body>
</soap:Envelope>
Run Code Online (Sandbox Code Playgroud)


Art*_*ich 1

您的 WCF 服务似乎利用 WS-Addressing 标准来标识消息需要提交到的接收位置。如果省略,则会导致错误消息中报告的目标地址为空。尝试true在请求属性中将 WS-Addressing 属性设置为。