SAAJMetaFactoryImpl nicht gefunden auf Weblogic 10gR3

Ich bin in den Prozess der Migration einer webservice-Anwendung, die perfekt funktioniert auf Weblogic 9 in Weblogic 10gR3.
Die kleine Schwierigkeit ist, dass meine Anwendung verwendet JAX-WS und auf Weblogic 9 ich hatte zu zählen JAX-WS Bibliotheken in meinem KRIEG. Aber auf WLS 10, die Bibliotheken bereits integriert sind.
Um Konflikte zu vermeiden, legte ich meine KRIEG im inneren des OHRES mit den folgenden 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>
  </prefer-application-packages>
</weblogic-application>

Dank, dass ich nicht ClassCastExceptions nicht mehr, aber ich habe noch eine Ausnahme:

javax.xml.soap.SOAPException: Unable to create SAAJ meta-factoryProvider com.sun.xml.internal.messaging.saaj.soap.SAAJMetaFactoryImpl not found
at javax.xml.soap.SAAJMetaFactory.getInstance(SAAJMetaFactory.java:85)
at javax.xml.soap.MessageFactory.newInstance(MessageFactory.java:148)
at com.sun.xml.ws.api.SOAPVersion.<init>(SOAPVersion.java:178)
at com.sun.xml.ws.api.SOAPVersion.<clinit>(SOAPVersion.java:83)
at com.sun.xml.ws.api.BindingID.<clinit>(BindingID.java:318)
at org.jvnet.jax_ws_commons.spring.SpringService.getObject(SpringService.java:294)
at org.jvnet.jax_ws_commons.spring.SpringService.getObject(SpringService.java:45)
at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectFromFactoryBean(AbstractBeanFactory.java:1236)
at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1207)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:262)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:261)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:109)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1099)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:861)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:421)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:244)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:187)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
at weblogic.servlet.internal.EventsManager$FireContextListenerAction.run(EventsManager.java:465)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.servlet.internal.EventsManager.notifyContextCreatedEvent(EventsManager.java:175)
at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1784)
at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:2999)
at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1371)

Was ist komisch ist, dass diese SAAJMetaFactoryImpl Klasse es sagt, dass es nicht finden können, ist Teil des JDK 1.6.0_17, die von WLS10 auf MACOSX 10.6 dem es installiert wird.

Jede Idee, was könnte die Ursache dieses Konflikts?

  • Wenn Sie wollen, dass Sie geladen aus dem Krieg sollte es werden prefer-web-inf-classes auf true gesetzt?
  • Ich denke, dieser Teil funktioniert auch schon. Plus, ist nicht prefer-web-inf-classes überschrieben weblogic-Klassen mit Klassen aus WEB-INF/classes? Weil hier das, was ich will zu tun ist, überschreiben Klassen von Weblogic Klassen in WEB-INF/lib/*.jar
  • Es funktioniert für beide - Ihre lib/*.jar geladen wird bevorzugt Weblogic eigene version.
  • Sowieso. Wieder einmal, so scheint es, dass dieser Teil funktioniert. Die Frage ist, warum ist es nicht in der Lage zu finden, eine Klasse, gehört zu den JDK läuft es auf?
InformationsquelleAutor Sebastien | 2010-04-27
Schreibe einen Kommentar