Получение данных из веб-службы WSDL / xsd в PHP - PullRequest
1 голос
/ 25 мая 2019

я использовал rest api для получения данных, но в этом случае у меня есть мыльный api, откуда я должен получить данные для автозаполнения формы, я не имею представления использовать мыльный api в php.

Пример запроса:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xro="http://x-road.eu/xsd/xroad.xsd" xmlns:iden="http://xroad.eu/xsd/identifiers" xmlns:prod="http://arireg.x-road.eu/producer/">
 <soapenv:Body>
 <prod:lihtandmed_v2>
 <prod:keha>
 <prod:ariregister_kasutajanimi>kasutajanimi</prod:ariregister_kasutajanimi>
 <prod:ariregister_parool>parool</prod:ariregister_parool>
 <prod:ariregistri_kood>70000310</prod:ariregistri_kood>
 </prod:keha>
 </prod:lihtandmed_v2>
 </soapenv:Body>
</soapenv:Envelope>

Конечная точка WSDL: https://ariregxmlv6.rik.ee/?wsdl

XSD: http://www2.rik.ee/schemas/xtee6/arireg/live/xroad6_lihtandmed_v2.xsd

Код:

ini_set('memory_limit','2048');
ini_set('soap.wsdl_cache_enabled',0);
ini_set('soap.wsdl_cache_ttl',0);
ini_set('display_errors',true);
error_reporting(-1);

try {

  $options = [
    'trace' => true,
    'exceptions' => true,
    'connection_timeout' => 1
  ];

  $tcs = new SoapClient("https://ariregxmlv6.rik.ee/?wsdl",$options);
  $send = $tcs->__soapCall('lihtandmed_v2',[

      'parameters' => [
         'keha' => array(
             "ariregister_kasutajanimi" => 'secretusername',
             "ariregister_parool" => 'secretpassword',
             "ariregistri_kood" => '70000310'
           )
       ]


  ]);
      print_r($send);
  } catch (SoapFault $exception) {
      echo $exception;
  }  

Ошибка: исключение SoapFault: [HTTP] Не удалось подключиться к хосту в /var/www/public/index2.php:19 Трассировка стека: # 0 [внутренняя функция]: SoapClient -> __ doRequest ('__ soapCall (' lihtandmed_v2 ') , Array) # 2 {main}

...