@AlexSer

Как правильно написать запрос на SOAP WSDL?

Пример запроса:
url:https://nsi.rosminzdrav.ru/wsdl/SOAP-server.v2.php...
Пример запроса для метода getRefbook
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:service">    <soapenv:Header/>    
<soapenv:Body>       
<urn:getRefbook>         
 <userKey>1111f0cf-b111-1d11-a111-1cee1111d111</userKey>          
<refbookCode>1.2.643.5.1.13.2.1.1.194</refbookCode>          
<version>1.0</version> 
 </urn:getRefbook>   
 </soapenv:Body> 
</soapenv:Envelope>


Мой код:
public  function  actionIndex(){
            $client = new SoapClient("https://nsi.rosminzdrav.ru/wsdl/SOAP-server.v2.php?wsdl");
           var_dump($client->getRefbook());
        }

Но результата нет
  • Вопрос задан
  • 2241 просмотр
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Смотрим описание getRefbook:
<operation name="getRefbook">
  <documentation>
    Возвращает полную указанную версию справочника, если это возможно
  </documentation>
  <input message="typens:getRefbook"> </input>
  <output message="typens:getRefbookResponse"> </output>
</operation>

Видим, что на вход принимается набор параметров, описанный в typens:getRefbook. Ищем его:
<message name="getRefbook">
  <part name="userKey" type="xsd:string"> </part>
  <part name="refbookCode" type="xsd:string"> </part>
  <part name="version" type="xsd:string"> </part>
</message>

То есть, нужно передать три строковых параметра. Судя по названиям, это ключ пользователя, идентификатор справочника и, предполагаю, версия api.
$client->getRefbook([
  'userKey' => '1111f0cf-b111-1d11-a111-1cee1111d111',
  'refbookCode' => '1.2.643.5.1.13.2.1.1.194',
  'version' => '1.0'
]);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы