JAXWS 2.1.5 sur weblogic 10.3.1 au lieu de JAXWS préinstallées 2.1.1?
-
12-09-2019 - |
Question
Est-il possible, et quand oui, comment?
La solution
En fait, la mise en œuvre JAX-WS fourni dans WebLogic 10.3 est basé sur JAX-WS RI 2.1.4 comme indiqué dans le Quoi de neuf dans WebLogic Server :
La mise en œuvre de WebLogic Server de JAX-WS est basée sur la mise en œuvre de référence JAX-WS (RI), la version 2.1.4 et apporte des améliorations à la couche d'outils pour simplifier la construction et le déploiement des services JAX-WS et pour faciliter la migration de JAX-RPC JAX-WS. Les caractéristiques et améliorations suivantes sont disponibles auprès du JAX-WS RI 2.1.4.
Mais ceci est juste une note de côté :) Maintenant, pour répondre à votre question, Oui , il est possible. Au fond, l'idée est de conditionner tout comme EAR et de fournir un weblogic-application.xml
pour spécifier les packages Java qui doivent chargés de l'AER au lieu de partir de classloader par défaut de WebLogic. Pour ce faire, procédez comme suit:
- Créer un EAR avec votre guerre noyé dans
-
Dans le
META-INF/weblogic-application.xml
de votre oreille, mettre<?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>
-
Mettre les fichiers JAR requis dans le
WEB-INF/lib
de votre WAR.
Si WebLogic rapporte des problèmes de chargement de classes, vous devrez peut-être ajouter d'autres packages Java sous l'élément prefer-application-packages
.