Проверка с помощью инструмента преобразования JAX-RPC определила веб-службу JAX-RPC в этом сканировании-это хороший кандидат для двоичного преобразования в JAX-WS с помощью Инструмента преобразования JAX-RPC.
Это правило помечает любые пакеты и файлы конфигурации JAX-RPC. Кроме того,
это правило помечает все вхождения тега jaxrpc-mapping-file в
файлах связей XML. В следующей таблице указаны пакеты Java, файлы конфигурации и файлы связей XML, которые затрагивает это правило:
Пакеты |
Файлы конфигурации |
Файлы привязок XML |
|---|---|---|
|
|
|
API Java для RPC на основе XML (JAX-RPC) не поддерживается в Liberty и Liberty Core. Технология устарела в WebSphere Application Server traditional V9.0 и может быть удалена в следующей версии. Путь стратегической миграции-использование JAX-WS. Относительные усилия будут изменяться в зависимости от выбранного пути миграции:
В следующей таблице для этих четыре опций сравниваются факторы, которые могут повлиять на ваш проект.
Факторы проекта |
Вариант 1Перенастройка с веб-служб JAX-RPC на веб-службы JAX-WS с помощью инструмента JAX-RPC Conversion |
Вариант 2Перенастройка с веб-служб JAX-RPC на веб-службы JAX-WS вручную |
Вариант 3Использование модуля JAX-RPC Apache Axis 1 в Liberty |
Опция 4Использование WebSphere Application Server traditional с его встроенным модулем JAX-RPC |
|---|---|---|---|---|
|
Поддерживаемое решение |
Да JAX-WS поддерживается как конфигурируемая возможность во всех редакциях Liberty, кроме Liberty Core. Скачайте файл WebSphere Liberty JAX-RPC Conversion Tool for Maven and Gradle. |
Да JAX-WS поддерживается как конфигурируемая возможность во всех редакциях Liberty, кроме Liberty Core. |
Нет Axis 1 не поддерживается. |
Да JAX-RPC поддерживается в WebSphere Application Server traditional. |
|
Стратегическое решение |
Да JAX-WS - стратегия, принятая во всех редакциях Liberty, кроме Liberty Core. |
Да JAX-WS - стратегия, принятая во всех редакциях Liberty, кроме Liberty Core. |
Нет Разработка Axis 1 прекращена. |
Нет JAX-RPC является устаревшим в WebSphere Application Server traditional и может быть удален в следующей версии. |
|
Сложность реализации |
Низкая Приложение было проверено для использования инструмента преобразования JAX-RPC. Службы JAX-RPC можно преобразовать в веб-службы JAX-WS. |
Высокий Вариант может быть сложным при большом числе веб-служб и клиентов JAX-RPC. Без инструмента JAX-RPC Conversion портирование служб JAX-RPC в JAX-WS требует многочисленных изменений в базе исходного кода. |
Низкая Если приложение уже использует Axis 1, этот вариант не представляет сложности. В противном случае он имеет средний уровень сложности. |
Средняя При миграции веб-служб JAX-RPC на другой модуль большая часть базового кода сохраняется. |
|
Дополнительные возможности |
Да JAX-WS предоставляет множество дополнительных функций, таких как аннотации, привязка JAXB и SOAP 1.2. |
Да JAX-WS предоставляет множество дополнительных функций, таких как аннотации, привязка JAXB и SOAP 1.2. |
Нет В JAX-RPC отсутствуют многие из дополнительных функций, существующих в JAX-WS. |
Нет В JAX-RPC отсутствуют многие из дополнительных функций, существующих в JAX-WS. |
|
Соответствие спецификациям |
Да |
Да |
Да Хотя JAX-RPC все еще является частью спецификации Java EE, она устарела, начиная с Java EE 6. |
Да Хотя JAX-RPC все еще является частью спецификации Java EE, она устарела, начиная с Java EE 6. |
|
Рекомендации |
Используйте эту опцию, если приложение удовлетворяет требованиям инструмента JAX-RPC Conversion. |
Используйте эту опцию, если у вас небольшое число веб-служб JAX-RPC и приложение не соответствует требованиям инструмента JAX-RPC Conversion. |
Этот вариант следует использовать, если веб-службы JAX-RPC уже работают в Axis 1. |
Этот вариант следует использовать, если веб-службы JAX-RPC уже работают в WebSphere Application Server traditional или имеется большое число веб-служб JAX-RPC, еще не работающих в Axis 1. |
Скачайте инструмент JAX-RPC Conversion со страницы WebSphere Liberty JAX-RPC Conversion Tool for Maven and Gradle.
Перенастройка приложений с JAX-RPC на JAX-WS инструментом JAX-RPC Conversion описана в онлайн-документации Перенастройка приложений JAX-RPC в Liberty с помощью Maven или Перенастройка приложений JAX-RPC в Liberty с помощью Gradle.
Информация о миграции приложений с JAX-RPC на JAX-WS приведена в разделе Сценарии миграции веб-служб: с JAX-RPC на JAX-WS и JAXB в электронной документации.
За дополнительной информацией об отличиях JAX-RPC от JAX-WS обратитесь к разделу Модель развертывания приложений JAX-WS.
Если Axis 1 уже используется, то для его использования в Liberty необходимо добавить библиотеки Axis 1 в путь к классам Liberty.
При использовании встроенного JAX-RPC можно преобразовать веб-службы для использования Axis 1. В следующей процедуре описано, как перенастроить веб-службу Red Hat JBoss на Axis 1.
java -cp <AXIS LIBRARIES> org.apache.axis.wsdl.WSDL2Java -t java -cp <AXIS LIBRARIES> org.apache.axis.wsdl.WSDL2Java -t -s -o <Output directory> <WSDL file>
Дополнительные сведения об этой команде приведены в разделе Справочник WSDL2Java на веб-сайте Apache.
Дополнительная информация об элементах конфигурации WSDD приведена в разделе Справочник по развертыванию (WSDD) на веб-сайте Apache.
Например следующий метод использует поиск JNDI:
Необходимо заменить поиск:
private com.ibm.demo.webservices.server.DemoType getService() throws Exception {Если требуется применять модуль JAX-RPC WebSphere Application Server, то необходимо использовать редакцию WebSphere Application Server traditional. Liberty не поддерживает JAX-RPC. Если требуется использовать Liberty, то необходимо выбрать другие варианты.
Если файлы конфигурации JAX-RPC найдены, однако JAX-RPC Java API не используется в приложении, то файлы конфигурации могли остаться от ранее использовавшейся технологии JAX-RPC, которая больше не нужна. Неиспользуемую конфигурацию можно удалить.