问题
My service is running fine If I use it via my client application. I am using same wsdl to load in SOAPUI. It has successfully created sample tests for each method. I want to send a request and it should generate response accordingly. I can see the correct Endpoint address in request properites. It automatically has generated a SOAP XML. If I try to run it to get response. It is giving me following error.
<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>
I dont know where else to check whats going wrong here. Please can some one help me in this regard. I am using the SOAPUI4.0.1.
回答1:
Issue is because the Request message is missing a To header. On the Message Editor, just below the request message window click on button WS-A
. Then select the checkbox Add default wsa:To
Now run your request and the service will run just fine.
Hope that helps.
Please mark it as the answer if it did resolve your issue.
回答2:
You will also need to set WS-ReliableMessaging to true.
回答3:
Same problem occured to me in biztalk server 2013 r2. this worked for me. I think we need to inform biztalk about the endpoint location to send back the result. A test script run in soapui should be like below:
<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>
回答4:
It seems that your WCF service utilizes the WS-Addressing standard to identify the receive location to which the message needs to be submitted. When omitted it leads to empty destination address reported in the error message. Try to set WS-Addressing property to true
in the request properties.
来源:https://stackoverflow.com/questions/9414145/getting-addressfilter-mismatch-at-the-endpointdispatcher-in-soapui-request