2008-09-24 21 views
15

Llamo a webservice usando NuSoap PHP library. El webservice parece usar .NET; cada vez que lo llamo, recibo un error sobre el uso de un SoapAction header no válido. El encabezado que se envía es una cadena vacía. ¿Cómo puedo encontrar el SoapAction que el servidor está esperando?¿Cómo se determina una SoapAction válida?

Respuesta

39

Puede ver SoapAction que la operación de servicio que está llamando espera al consultar el WSDL para el servicio. Para los servicios .NET, puede acceder al WSDL abriendo un navegador web a la url del servicio y anexando? Wsdl al final.

Dentro del documento WSDL, puede ver las SoapActions definidas en los nodos 'Operación' (en 'Vinculaciones'). Por ejemplo:

<wsdl:operation name="Execute"> 
    <soap:operation soapAction="http://tempuri.org/Execute" style="document" /> 

Encuentre el nodo de operación para la operación que está tratando de invocar, y se encuentra la acción de jabón que espera allí.

+0

¿cómo puedo controlar el tipo de devolución en el wsdl? Estoy devolviendo un xmldocument, pero quiero que el wsdl describa sus tipos de elementos internos. –

Cuestiones relacionadas