веб-сервисы — мыльный клиент Php + получение нулевого ответа

Я пытаюсь вызвать wcf ws из клиента php

WSDL https://ws-web.test.nhn.no/v1/AR?wsdl

$url = 'https://ws-web.test.nhn.no/v1/AR?wsdl';
$params = array('login' => '*****',
'password' => '######',
'soap_version' => SOAP_1_2,
'trace' => TRUE);

$client = new SoapClient($url, $params);
var_dump($client->__soapCall("Ping"));

С помощью приведенного выше кода я всегда получаю null ответ, и я не могу вызвать другие функции из wsdl

Если я попробую это с другим синтаксисом, иногда получаю action mismatch error и я также получаю null ответ в пользовательском интерфейсе Soap.

3

Решение

Основываясь на WSDL, функция Ping имеет входное сообщение.

<wsdl:operation name="Ping">
<wsdl:input wsam:Action="http://register.nhn.no/CommunicationParty/ICommunicationPartyService/Ping" message="tns:ICommunicationPartyService_Ping_InputMessage"/>
<wsdl:output wsam:Action="http://register.nhn.no/CommunicationParty/ICommunicationPartyService/PingResponse" message="tns:ICommunicationPartyService_Ping_OutputMessage"/>
</wsdl:operation>

Входное сообщение состоит из параметров, определенных здесь …

<wsdl:message name="ICommunicationPartyService_Ping_InputMessage">
<wsdl:part name="parameters" element="tns:Ping"/>
</wsdl:message>

И, наконец, объект Ping не выглядит так, как будто у него есть какие-либо свойства. Weird.

<xs:element name="Ping">
<xs:complexType>
<xs:sequence/>
</xs:complexType>
</xs:element>

Так что попробуйте.

$pingObj = new stdClass();
$client->__soapCall("Ping", [$pingObj]);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]