java.lang.ClassCastException: org.apache.xerces.jaxp.DocumentBuilderFactoryImpl pendant le démarrage du weblogic

Dans le cadre de notre application, nous utilisons apache xerces jaxp de l'analyseur. Lorsque nous déployer l'application sur weblogic 9.2, nous obtenons l'erreur suivante.

org.springframework.les haricots.usine.BeanCreationException: Erreur lors de la création de haricots avec le nom " org.apache.cxf.wsdl.WSDLManager " défini dans le chemin de classe de ressource [META-INF/cxf/cxf.xml]: l'Instanciation de haricot échoué; nested exception est org.springframework.les haricots.BeanInstantiationException: impossible d'instancier la classe d'haricot [org.apache.cxf.wsdl11.WSDLManagerImpl]: Constructeur a jeté exception; nested exception java.lang.ClassCastException: org.apache.xerces.jaxp.DocumentBuilderFactoryImpl 

Selon notre analyse, weblogic est d'essayer de charger son propre DocumentBuilderFactoryImpl qui est présent dans weblogic.jar au lieu de apache xerces.

Nous avons essayé suivantes pour forcer la weblogic pour charger DocumentBuilderFactoryImpl de xerces

i), nous avons ajouté la balise suivante dans weblogic.xml

<prefer-web-inf-classes>true</prefer-web-inf-classes>

ii), nous avons mis dernières versions de xalan dans jre/lib/sponsorisé dossier. cela ne résout pas notre problème.

ii) nous avons ajouté des entrées dans weblogic-application.xml

<weblogic-application xmlns="http://www.bea.com/ns/weblogic/90">
 <application-param>
  <param-name>webapp.encoding.default</param-name>
  <param-value>UTF-8</param-value>
 </application-param>
 <prefer-application-packages>
  <package-name>javax.jws.*</package-name>
  <package-name>org.apache.xerces.*</package-name>
  <package-name>org.apache.xerces.jaxp.*</package-name>
 </prefer-application-packages>
</weblogic-application>

ii)Ajouté à la suite de l'entrée en weblogic-application.xml

<xml> 
  <parser-factory> 
    <saxparser-factory>org.apache.xerces.jaxp.SAXParserFactoryImpl</saxparser-factory> 
    <document-builder-factory>org.apache.xerces.jaxp.DocumentBuilderFactoryImpl</document-builder-factory> 
    <transformer-factory>org.apache.xalan.processor.TransformerFactoryImpl</transformer-factory>
  </parser-factory> 
</xml>

iii) Ajouté à la jaxp.properties pour charger DocumentBuilderFactoryImpl de xerces pour le jre/lib et de démarrer le serveur.Dans ce cas, weblogic, na pas démarrer.

iv) Puis nous avons commencé le premier serveur et puis copié le jaxp.properties fichier pendant le temps d'exécution lorsque le serveur démarre.Mais pas de succès

Aucun des ci-dessus a travaillé pour nous.

Toute aide est très appréciée.

OriginalL'auteur venkat | 2010-03-15