На самом деле реализация 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
вашего EAR укажите
<?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
вашей WAR.
Если WebLogic сообщает о проблемах с загрузкой классов, вам может потребоваться добавить больше пакетов Java в элемент prefer-application-packages
.