Как вы определяете действительный SoapAction?

Я вызываю webservice с помощью NuSoap PHP library. При использовании webservice используется .NET; каждый раз, когда я его вызываю, я получаю ошибку об использовании недопустимого SoapAction header. Посылаемый заголовок представляет собой пустую строку. Как я могу найти 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, которое оно ожидает там.