jaxws 2.1.5 на weblogic 10.3.1 вместо предустановленного jaxws 2.1.1?
-
12-09-2019 - |
Вопрос
Возможно ли это, и когда да, как?
Решение
На самом деле реализация JAX-WS, включенная в состав WebLogic 10.3, основана на JAX-WS RI 2.1.4, как описано в Что нового в WebLogic Server:
Реализация JAX-WS в WebLogic Server основана на эталонной реализации JAX-WS (RI) версии 2.1.4 и включает усовершенствования уровня инструментов, упрощающие создание и развертывание сервисов JAX-WS, а также облегчающие переход от JAX-RPC в JAX-WS.Следующие функции и улучшения доступны в JAX-WS RI 2.1.4.
Но это всего лишь примечание :) Теперь, чтобы ответить на ваш вопрос: да, возможно.По сути, идея состоит в том, чтобы упаковать все как EAR и предоставить weblogic-application.xml
чтобы указать пакеты Java, которые необходимо загрузить из EAR, а не из загрузчика классов WebLogic по умолчанию.Для этого выполните следующие действия:
- Создайте EAR со встроенной в него войной
в
META-INF/weblogic-application.xml
вашего УХА, положите<?xml version="1.0" encoding="UTF-8"?> <weblogic-application> <application-param> <param-name>webapp.encoding.default</param-name> <param-value>UTF-8</param-value> </application-param> <prefer-application-packages> <package-name>com.sun.xml.*</package-name> <package-name>javax.xml.bind.*</package-name> <package-name>javax.jws.*</package-name> <package-name>javax.xml.soap.*</package-name> </prefer-application-packages> </weblogic-application>
Поместите необходимые JAR-файлы в папку
WEB-INF/lib
твоей ВОЙНЫ.
Если WebLogic сообщает о проблемах с загрузкой классов, возможно, вам придется добавить дополнительные пакеты Java в разделе prefer-application-packages
элемент.