web-dev-qa-db-ja.com

SOAPUIリクエストのEndpointDispatcherでAddressFilterの不一致を取得する

クライアントアプリケーションを介して使用すると、サービスは正常に実行されます。同じ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を使用しています。

20
sam

問題は、RequestメッセージにToヘッダーがないためです。メッセージエディタで、リクエストメッセージウィンドウのすぐ下にあるボタンWS-Aをクリックします。次に、チェックボックスAdd default wsa:Toを選択します

ここでリクエストを実行すると、サービスは正常に実行されます。

お役に立てば幸いです。

問題が解決した場合は、回答としてマークしてください。

42
Vipul

また、WS-ReliableMessagingtrueに設定する必要があります。

4
Ravi C

同じ問題がbiztalkサーバー2013r2でも発生しました。 this 私のために働いた。結果を返送するには、エンドポイントの場所について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>
3
Halis Yılboğa

WCFサービスは、WS-Addressing標準を利用して、メッセージの送信先となる受信場所を特定しているようです。省略すると、エラーメッセージで報告される宛先アドレスが空になります。リクエストプロパティでWS-Addressingプロパティをtrueに設定してみてください。

1
Artem Zankovich