2012-02-23 15 views
13

Mi servicio funciona bien Si lo uso a través de mi aplicación cliente. Estoy usando el mismo wsdl para cargar SOAPUI. Ha creado con éxito pruebas de muestra para cada método. Deseo enviar una solicitud y debería generar una respuesta en consecuencia. Puedo ver la dirección correcta del Endpoint en las propiedades de la solicitud. Automáticamente ha generado un XML SOAP. Si trato de ejecutarlo para obtener respuesta. Me está dando el siguiente error.Obteniendo AddressFilter no coinciden en el EndpointDispatcher en la solicitud 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/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 no sabe dónde más para comprobar qué se está mal aquí. Por favor, ¿alguien puede ayudarme en este sentido? Estoy usando SOAPUI4.0.1.

Respuesta

0

Parece que su servicio WCF utiliza el estándar WS-Addressing para identificar la ubicación de recepción a la que se debe enviar el mensaje. Cuando se omite, conduce a una dirección de destino vacía que se informa en el mensaje de error. Intente establecer la propiedad WS-Addressing en true en las propiedades de solicitud.

2

También necesitará establecer WS-ReliableMessaging en true.

33

El problema se debe a que al mensaje de solicitud le falta un encabezado Para. En el Editor de mensajes, justo debajo de la ventana del mensaje de solicitud, haga clic en el botón WS-A. A continuación, seleccione la casilla de verificación Add default wsa:To

Ahora ejecute su solicitud y el servicio se ejecutará bien.

Espero que ayude.

Por favor, márquelo como la respuesta si resolvió su problema.

+0

Esto resolvió el problema para mí. ¡Gracias! – Syed

+0

Necesitaba entender lo que 'Agregar wsa: A predeterminado' hizo lo que necesitaba para recrear el mensaje en PHP, pero no es obvio desde SOAPUI. Lo encontré en el httplog en el panel inferior. Agrega en ' http: // [su punto final] 'al mensaje – icc97

+0

¡Resuelto para mí también, gracias! – enginbilici

2

El mismo problema se me ocurrió en el servidor biztalk 2013 r2. this funcionó para mí. Creo que debemos informar a biztalk sobre la ubicación del punto final para devolver el resultado. Un script de prueba se ejecute en soapUI debe ser como a continuación:

<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>

Cuestiones relacionadas