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

时间:2012-02-23 13:37:23

标签: xml wcf load-testing soapui

我的服务运行良好如果我通过我的客户端应用程序使用它。我使用相同的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>

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

4 个答案:

答案 0 :(得分:40)

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

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

希望有所帮助。

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

答案 1 :(得分:3)

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

答案 2 :(得分:3)

在biztalk server 2013 r2中发生了同样的问题。 this为我工作。我想我们需要通知biztalk有关端点位置以发回结果。在soapui中运行的测试脚本应如下所示:

&#13;
&#13;
<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>
&#13;
&#13;
&#13;

答案 3 :(得分:1)

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