Как получить ответ на SOAP-запрос с помощью zend-soap? - PullRequest
0 голосов
/ 17 октября 2019

Я провел некоторое время с проблемой. У меня есть конечная точка, я хочу отправить некоторые данные и получить ответ.

Я посмотрел онлайн и увидел, что Zend \ Soap \ Server используется для построения методов, а Zend \ Soap \ Client можетчем использовать эти методы. Я хотел бы, чтобы кто-то объяснил, что писать в этих методах и как это помогает получить ответ.

$ client = new Client ($ this-> wsdl, array ('soap_version' => SOAP_1_1));

Теперь мы можем $ client-> SOMEMETHOD ();

Мои вопросы: «Откуда у меня этот метод?», «Что будет делать метод?» И «как мне его использовать? '

Ответы [ 2 ]

0 голосов
/ 18 октября 2019

Я решил свою проблему, поэтому выложу ее здесь, чтобы все могли понять.

$client = new Client($wsdl, ['soap_version' => SOAP_1_1]);

$params = [
   'args0' =>  [ 
      '_PRCODASSOC' => null, 
      '_PRCODDELEG' => null, 
      '_PRCODFISCALE' => 'BRSLSN312213TY', 
      '_PRCODFSDDIRI' => null,
      '_PRTIPOOPERAWS' => 'REPFAM' 
    ]
];

$client->ws_fam_sgf($params); 
$result = $client->getLastResponse(); 
die($result); 

Все, что я сделал, это добавил 'args' => [] и добавил все мои параметры внутри этого ключа.

0 голосов
/ 18 октября 2019

SOAP, короткая база

SOAP позволяет запросить онлайн-сервис. (используйте в качестве кода клиента), например, вы можете запросить AMAZON о продукте, узнать его цену и т. д.

SOAP работает двумя различными способами:

способ 1: режим wdsl

когда вы создаете соединение с клиентом SOAP, вы должны предоставить ссылку, которая предоставит файл XML: пример wdsl

: введите в браузере: http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl

поздравление: вы видите (открываете) способ запроса AMAZON!

этот XML-файл сообщает вам, что вы можете запросить: цену, информацию о продукте, поиск и т. д.: это маршруты.

для каждого маршрута (каждого возможного запроса) параметры, которые вы должны предоставить, проверка правильности этих параметров: пример: маршрут = поиск статьи, param1 = имя статьи, тип параметра = строка и т. Д. ...

$client = new Client($this->wsdl, array( 'soap_version' => SOAP_1_1 ) )

создать объект клиента:
$ this-> wsdl ссылка на файл XML (часть обнаружения)
это строка URI: пример: "http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl"

массив ('soap_version' => SOAP_1_1) = я использую версию SOAP xx, вы можетеДополнительные параметры в этом массиве.

способ 2: режим не wdsl

вы не предоставляете ссылку или файл wsdl ... но вы должны знать, как обрабатывать запросы и ответы

глубокое изучение

поиск в google учебник по SOAP, есть онлайн-запросчик для целей тестирования и т. Д. ... затем используйте его в zend

...