Включение адресации WS-Addressing в SOAP java веб-сервисе

Добавление адресации в SOAP java веб сервис. Использование аннотации @Addressing.

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

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

Добавить поддержку адресации в SOAP веб-сервис.

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

Серверная часть ничем не отличается от прошлого проекта — Валидация данных веб-сервиса на стороне сервера с помощью reflection. Так же в этой статье описывается клиентская часть, в которой были автоматически сгенерированы классы на основе wsdl и написан простой код подключения к веб-сервису. Структура клиентской части выглядит следующим образом:

clientAddrStructure

3. Addressing

На стороне сервера была добавлена только одна строчка с указанием аннотации @Addressing. У этой аннотации есть существуют различные параметры (enabledrequired, responses).

Вот таким простым образом можно включить поддержку адресации на стороне сервера. В данном случае она не является обязательным требованием (по умолчанию required = false).

В результате добавления аннотации у нас изменится wsdl описание нашего веб-сервиса.

Добавился тег <wsaw:UsingAddressing .., а так же тег <wsam:Addressing… .

Полное описание:

4. Адресация на клиенте

На основании wsdl с использованием адресации были сгенерированы классы на клиенте. Как это делается описано в отдельной статье доступной на сайте.

Для включения адресации на стороне клиента используется метод factoryBean.getFeatures().add(new WSAddressingFeature());

Если запустить метод main, то в консоль выведется ответ от сервера: Hello to JavaStudy client!. Простым способом проверки включенной адресации является использование популярной утилиты SoapUI. Как его запустить и настроить описано в SOAP java веб сервис. Пример Hello World example.

В результате запроса к серверу мы увидим в заголовке MessageID. В этом теге описан ID клиента, от которого пришел запрос и следовательно этот ID можно использовать для отправки ответа сервера.

AddressingRun

 

Исходный код

5. Server Addressing

5. Client Addressing

Share Button
6
8436 Total Views 6 Views Today

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