Пример простого SOAP-сервера на основе компоненты POE::Component::Server::SOAP и SOAP-клиента на основе SOAP::Lite

SOAP-сервер

Компонента POE::Component::Server::SOAP для реализации работы с SOAP использует достаточно популярный модуль SOAP::Lite.

В момент вызова метода new(), POE::Component::Server::SOAP создает новую сессию POE. Сразу после создания сессии запускается сервер, на основе компоненты POE::Component::Server::SimpleHTTP.

Пример кода SOAP-сервера:

После запуска этого сервера можно быстро проверить его работоспособность, набрав в строке браузера http://localhost:32080/ . В ответ на запрос, сервер выдаст ответ:

 

SOAP-клиент, вариант 1

Пример кода SOAP-клиента для вышеприведенного SOAP-сервера:

SOAP-клиент формирует вот такой запрос и отправляет его серверу:

В ответ получает вот такой XML-документ:

Данный SOAP-клиент использует в качестве параметра outputxml(‘true’), который приводит к тому, что SOAP::Lite возвращает ответ от сервера как чистый xml-код. Если данная опция не задана, будет возвращен SOM-объект (см. модуль SOAP::SOM).

Пример простого SOAP-клиента с использованием SOM см. далее.

 

SOAP-клиент, вариант 2

Данный клиент использует в своей работе объект SOAP::SOM.

Клиент формирует к серверу точно такой же запрос, как в предыдущем примере, и выводит на консоль ответ:

 

Полезные ссылки

www.w3.org: SOAP Версия 1.2 Часть 0: Учебник для начинающих

search.cpan.org: POE::Component::Server::SOAP

search.cpan.org: SOAP::Lite

xakep.ru: SOAP-2, или восстание машин