soap

Класс SoapClient, класс SoapFault

SoapClient

Рассмотрим пошагово:

  • Создание Soap клиента. При создании клиента будет зачитан документ, указанный в скобках. А в нем прописана функция для работы. Эта функция станет методом нашего объекта.
$client = new SoapClient("http://site.ru/stock.wsdl"); //пишем, где лежит wsdl-файл
  • Послать SOAP-запрос и получить результат.
$result = $client->getStock("2");
echo "Результат: ", $result;
  • Можем получить информацию о методах и параметрах (в случае, если не понимаем wsdl-документ).
var_dump($client->__getFunctions());

SoapFault

Такой класс предлагает нам решение на основе конструкции try — catch. Причем try и catch будет на клиенте, а throw — на сервере.

Рассмотрим серверную часть:

throw new SoapFault("Server", "Несуществующий id товара");

В скобках передаем код ошибки в виде строки и сообщение об ошибке

Рассмотрим клиентскую часть:

try {
   $client = new SoapClient("stock.wsdl");
   $result = $client->getStock("7");
   echo "Текущий запас: ", $result;
} catch (SoapFault $exception) {
   echo $exception->getMessage();
}

Примеры web-служб можно найти на сайте: www.xmethods.net.




Добавить комментарий

Ваш e-mail не будет опубликован.