HandlerChain в java SOAP веб-сервисе. Клиентская часть

HandlerChain в java SOAP веб-сервисе. Клиентская часть работы с веб-сервисом.

Используемые технологии и библиотеки
  • Apache CXF 3.1.6
  • Spring MVC 4.3.0.Release

1. Описание задачи

Написать клиентскую часть работы с SOAP веб-сервисом с использованием цепочки обработчиков (HandlerChain). Создать java классы для работы с веб-сервисом на основании описания wsdl.

Описание серверной части находится в статье — HandlerChain в java SOAP веб-сервисе. Применение цепочки handler’ов.

2. Структура проекта

clientHandlers

Код запуска клиента находится в JavaStudyWS. Handler клиентской части описан в ClientHandler. Так же были автоматически сгенерированы классы на основе файла описания wsdl. В client-handler.xml находится описание класса обработчика ClientHandler.

3. Классы на основе wsdl

Все классы в пакете ws.soap были сгенерированы автоматически с помощью утилиты wsimport из JDK Java 1.8. Как это сделать описано в Создание Java классов на основании wsdl описания soap веб-сервиса с помощью wsimport. Описание каждого сгенерированного класса в отдельности не является частью этой статьи. Все настройки после импорта остались по умолчанию и не были изменены.

4. Handler на клиенте

Для изменения soap сообщения на клиенте был также добавлен обработчик ClientHandler.

Аналогично коду серверной части вначале проверяется тип сообщения. Если это запрос (request), то мы добавляем в него элемент с именем ‘password’. Именно значение этого элемента проверяется в аналогичном обработчике серверной части.

5. Soap клиент с Handler’ом

Для запуска клиента и выполнения запроса к веб-сервису серверной части необходимы всего несколько строк кода.

5.1. Запуск

Сначала запускаем серверную часть и проверяем доступность описания по ссылке http://localhost:8080/soap/webserviceSEI?wsdl (порт и путь могут быть другими).

Теперь при запуске клиента получим вывод в консоль:

Exception выбрасывается на серверной части после проверки элемента password. С помощью дебага или вывода в консоль вы можете посмотреть как обрабатываются различные сообщения.

 

Исходный код

Handlers Client

Share Button
2
1132 Total Views 2 Views Today

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