Обращение к WSDL из PHP

Рейтинг: 1Ответов: 1Опубликовано: 27.11.2014

Возникла необходимость обращения к WSLD из PHP. C сервисом WSDL работал только один раз и только с python - особых проблем не возникло, но с PHP никак не могу разобраться. В общем, создаю клиент:

$url = "https://myairops.com/OpisService/AiropsScheduleDataService.svc?singleWsdl";
$airopsClient = new SoapClient($airopsUrl);
var_dump($airopsClient->__getFunctions()); // ExportScheduleData(ExportScheduleData $parameters)
$airopsClient->ExportScheduleData(array());

Получаю:

Uncaught SoapFault exception: [HTTP] Cannot process the message because the content type 'text/xml; charset=utf-8' was not the expected type 'application/soap+xml; charset=utf-8'.

Хорошо, поискал в сети, нашел, что нужно использовать SOAP 1.2

пересоздаю объект:

$airopsClient = new SoapClient($url,
    array('soap_version' => SOAP_1_2));
$airopsClient->ExportScheduleData(array());

И все. При попытке загрузить страницу с кодом она не загружается и висит бесконечно в состоянии запроса.

кто-нибудь подскажет как решить проблему?

============== 01.12.2014 ===========

Похоже, сервис использует WS-Security. Дали сертификат. пытаюсь авторизоваться пр помощи сертификата:

Warning: SoapClient::SoapClient(): Unable to set local cert chain file `C:\xampp\htdocs\workspace\sandbox.dev\public\sandbox.cer'; Check that your cafile/capath settings include details of your certificate and its issuer in C:\xampp\htdocs\workspace\sandbox.dev\public\sandbox.php on line 34

Ответы

Ответов пока нет.