Я вызываю webservice
с помощью NuSoap PHP library
. При использовании webservice
используется .NET
; каждый раз, когда я его вызываю, я получаю ошибку об использовании недопустимого SoapAction header
. Посылаемый заголовок представляет собой пустую строку. Как я могу найти SoapAction
, ожидаемый сервером?
Как вы определяете действительный SoapAction?
Ответ 1
Вы можете увидеть SoapAction, что ожидаемая операция службы ожидает, посмотрев WSDL для этой службы. Для служб .NET вы можете получить доступ к WSDL, открыв веб-браузер для URL-адреса службы и добавив в wsdl конец.
Внутри документа WSDL вы можете увидеть SoapActions, определенные в узлах "Operation" (в разделе "Bindings" ). Например:
<wsdl:operation name="Execute">
<soap:operation soapAction="http://tempuri.org/Execute" style="document" />
Найдите операцию node для операции, которую вы пытаетесь вызвать, и вы найдете действие Soap, которое оно ожидает там.