Проверка с помощью инструмента преобразования JAX-RPC определила, что веб-сервис JAX-RPC в этом скане является хорошим кандидатом для преобразования источника в JAX-WS с помощью помощника по миграции источника JAX-RPC в JAX-WS или двоичного преобразования в JAX-WS с помощью инструмента преобразования 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 |
Вариант 2Перенастройка с веб-служб JAX-RPC на веб-службы JAX-WS с помощью инструмента JAX-RPC Conversion |
Вариант 3Перенастройка с веб-служб JAX-RPC на веб-службы JAX-WS вручную |
Опция 4Использование модуля JAX-RPC Apache Axis 1 в Liberty |
Вариант 5Использование WebSphere Application Server traditional с его встроенным модулем JAX-RPC |
|---|---|---|---|---|---|
|
Поддерживаемое решение |
Да JAX-WS поддерживается как конфигурируемая возможность во всех редакциях Liberty, кроме Liberty Core. |
Да 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. |
Да JAX-WS - стратегия, принятая во всех редакциях Liberty, кроме Liberty Core. |
Нет Разработка Axis 1 прекращена. |
Нет JAX-RPC является устаревшим в WebSphere Application Server traditional и может быть удален в следующей версии. |
|
Сложность реализации |
Средняя Приложение было проверено на использование JAX-RPC Source Migration Helper. Сервисы JAX-RPC могут быть преобразованы в веб-сервисы JAX-WS с помощью этого инструмента в исходном коде вашего приложения. |
Низкая Приложение было проверено на использование инструмента преобразования 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-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. |
|
Рекомендации |
Используйте этот вариант, если у вас есть право на сайт IBM Application Modernization Accelerator Developer Tools. Это единственный вариант, который обеспечивает автоматическую помощь в переносе исходного кода приложений на JAX-WS. |
Используйте эту опцию, если приложение удовлетворяет требованиям инструмента JAX-RPC Conversion. Этот инструмент конвертирует только бинарные архивы. |
Используйте эту опцию, если у вас небольшое число веб-служб JAX-RPC и приложение не соответствует требованиям инструмента JAX-RPC Conversion. |
Этот вариант следует использовать, если веб-службы JAX-RPC уже работают в Axis 1. |
Этот вариант следует использовать, если веб-службы JAX-RPC уже работают в WebSphere Application Server traditional или имеется большое число веб-служб JAX-RPC, еще не работающих в Axis 1. |
JAX-RPC Source Migration Helper доступен на сайте IBM Application Modernization Accelerator Developer Tools. Этот инструмент поможет преобразовать унаследованные сервисы JAX-RPC в JAX-WS в исходном коде приложения. Для получения дополнительной информации см Application Modernization Accelerator Developer Tools обзор.
Загрузите инструмент преобразования JAX-RPC с сайта WebSphere Liberty JAX-RPC Conversion Tool для Maven и 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, которая больше не нужна. Неиспользуемую конфигурацию можно удалить.