2011-04-27 1 views
0

J'essaie d'utiliser les services Web Metro à la place de la pile par défaut Weblogic webservices contenue dans weblogic.jar.Utilisation de Metro à la place de Weblogic Webservices Stack

Le problème survient lorsque WebLogic tente d'utiliser la pile Metro avant la sienne.

Les étapes que j'ai prises jusqu'à maintenant sont de référencer webservices-rt.jar dans le projet. Jusqu'à présent, je reçois cette erreur lors du déploiement du fichier ear ....

Causée par: java.lang.LinkageError: violation de contrainte loader: lors de la résolution du champ "DATETIME" le chargeur de classe (instance de weblogic/utils/classloaders/ChangeAwareClassLoader) de la classe de renvoi, javax/xml/datatype/DatatypeConstants, et le chargeur de classe (instance de) pour le type résolu du champ, javax/xml/namespace/QName, ont des objets de classe pour ce type

MISES À JOUR:

Erreur la plus récente est: "classe javax.xml.namespace.QName n'a ni @WebSerivce ni @WebServiceProvider" Etrange que c'est l uisiner pour @WebService sur un objet QName:

  1. Contenu de la demande-weblogic.xml

<wls:prefer-application-packages>
<wls:package-name>com.ctc.</wls:package-name>
<wls:package-name>com.sun.xml.
</wls:package-name>
<wls:package-name>com.sun.istack.</wls:package-name>
<wls:package-name>com.sun.msv.datatype.
</wls:package-name>
<wls:package-name>com.sun.msv.driver.</wls:package-name>
<wls:package-name>com.sun.msv.grammar.
</wls:package-name>
<wls:package-name>com.sun.msv.reader.</wls:package-name>
<wls:package-name>com.sun.msv.relaxns.
</wls:package-name>
<wls:package-name>com.sun.msv.scanner.</wls:package-name>
<wls:package-name>com.sun.msv.util.
</wls:package-name>
<wls:package-name>com.sun.msv.verifier.</wls:package-name>
<wls:package-name>com.sun.msv.writer.
</wls:package-name>
<wls:package-name>com.sun.org.apache.xml.internal.</wls:package-name>
<wls:package-name>com.sun.wsit.
</wls:package-name>
<wls:package-name>javax.jws.</wls:package-name>
<wls:package-name>javax.xml.bind.
</wls:package-name>
<wls:package-name>javax.xml.soap.</wls:package-name>
<wls:package-name>javax.xml.stream.
</wls:package-name>
<wls:package-name>javax.xml.ws.</wls:package-name>
<wls:package-name>javax.xml.activation.
</wls:package-name>
<wls:package-name>javax.xml.annotation.</wls:package-name>
<wls:package-name>javax.xml.mail.
</wls:package-name>
<wls:package-name>javax.xml.security.</wls:package-name>
<wls:package-name>javax.xml.registry.
</wls:package-name>
<wls:package-name>javax.xml.rpc.</wls:package-name>
<wls:package-name>javax.xml.crypto.
</wls:package-name>
<wls:package-name>javanet.staxutils.</wls:package-name>
<wls:package-name>jp.gr.xml.
</wls:package-name>
<wls:package-name>org.codehaus.stax2.</wls:package-name>
<wls:package-name>org.glassfish.gmbal.
</wls:package-name>
<wls:package-name>org.iso_relax.</wls:package-name>
<wls:package-name>org.jcp.xml.dsig.
</wls:package-name>
<wls:package-name>org.jvnet.</wls:package-name>
<wls:package-name>org.relaxng.
</wls:package-name>
<wls:package-name>antlr.</wls:package-name>
<wls:package-name>org.apache.commons.lang.
</wls:package-name>
</wls:prefer-application-packages>

Répondre

0

Jetez un oeil à l'aide de la FilteringClassLoader qui est configuré dans le déploiement weblogic-application.xml descripteur. Vous pouvez demander à WebLogic de charger des classes à partir de l'application en faveur des bibliothèques incluses dans WebLogic. L'élément descripteur est et vous spécifiez les packages Java que vous souhaitez charger à partir de l'application.

Si vous utilisez WebLogic 10.3.4, vous pouvez utiliser ClassLoader Analysis pour analyser les packages en conflit.

Vérifiez ma présentation ici: SlideShare.net et ma démo du CAT ici: YouTube

+0

WebLogic Server Version: 10.3.3.0 :( Cependant, je l'ai fait quelques progrès depuis que j'ai posté la question ... Je mettre à jour avec mes conclusions et si vous pouvez aider ce serait génial! – Norge

+0

Bien que je ne l'ai pas essayé en colère, je pensais que l'application Classloader Analysis peut être exécuté sur les versions antérieures de WebLogic Server, c'est juste que c'est seulement fourni avec 10.3.4 est-ce le cas, Jeff? – kevinpowe

+0

Pas sûr, pour être honnête.Vous avez peut-être une bibliothèque dans l'application que vous déployez? Si vous pouviez utiliser WLS 10.3.4 et essayez d'utiliser le CAT il peut vous donner insi ght sur la façon de résoudre le problème sur 10.3.3. CAT est seulement dans 10.3.4 –

Questions connexes