использование функций из внутреннего интерфейса SOAP через php - PullRequest
0 голосов
/ 19 марта 2012

Я получил инструкцию к внутреннему интерфейсу SOAP моего партнера.В нем говорится:

MyPARTNER веб-сервисы предоставляются в виде интерфейса SOAP.Служба доступна по этому адресу: https://justsomeurl.com:435/soap

, затем некоторые бла-бла об авторизации и т. Д., А затем часть о доступных методах:

pull ()

Метод PULL используется для извлечения данных из базы данных.Метод получает уникальный параметр на основе данных под внутренним именем requestXML.Этот параметр содержит данные в формате структурированного XML.

String pull (String requestXML)

XML содержит данные, необходимые для выполнения запроса, и данные ответа отправляютсяназад.

затем некоторые другие методы, коды ошибок, здесь это не важно ... Проблема в том, что я совершенно неопытен в SOAP, поэтому я не знаю, как использовать этот интерфейс через PHP,Я попытался найти несколько примеров, учебных пособий, и теперь я немного больше осведомлен о SOAP и его функциональных возможностях, но до сих пор не нашел ни одного совета о том, как использовать такой интерфейс ...

спасибо за любыепомощь

1 Ответ

1 голос
/ 19 марта 2012

Php поставляется с библиотеками PHP SOAP, которые обычно включаются и включаются после обычной установки php.

Юо предлагается создать клиентскую часть шаблона веб-сервиса.Ваш партнер должен предоставить вам .wsdl веб-службы.Wsdl описывает avialble метод, параметры, которые ему нужны и что они возвращают.

Обычно параметры и возвращаемые значения являются структурами массива

Это может быть скелет для вашего кода:

 //build a client for the service
 $client = new SoapClient("partner.wsdl");

 //$client is now a sort of object where you can call functions
 //prepare the xml parameter
 $requestXML = array("parameter" => "<xml>Hello</xml>");

 //call the pull function this is like 
 $result = $client->__soapCall("pull", $requestXML );

 //print the value returned by the web service
 print_r($result);

Здесь следует пример, не относящийся к wsdl. Сначала параметром location является адрес, на который будет отправлен запрос SOAP.Параметр uri является целевым пространством имен службы SOAP.Это относится к пространствам имен xml.

Пример кода для вас может быть: // для спецификации URI вы должны смотреть документацию ваших партнеров.может быть, поддельный uri (как и мой) может работать // построить клиент для службы $ client = new SoapClient (null, array ('location' => "https://justsomeurl.com:435/soap", 'uri' =>" urn: WebServices ", 'trace '=> 1));

 // Once built a non-wsdl web service works as a wsdl one
 //$client is now a sort of object where you can call functions
 //prepare the xml parameter
 $requestXML = array("parameter" => "<xml>Hello</xml>");

 //call the pull function this is like 
 $result = $client->__soapCall("pull", $requestXML );

 //print the value returned by the web service
 print_r($result);

Вот полезная ссылка: http://www.herongyang.com/PHP/SOAP-Use-SOAP-Extension-in-non-WSDL-Mode.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...