Results 1 to 9 of 9

Thread: java.lang.LinkageError: loader constraints violated when linking org/w3c/dom/Attr cla

  1. #1
    Join Date
    Mar 2005
    Posts
    144

    Default java.lang.LinkageError: loader constraints violated when linking org/w3c/dom/Attr cla

    Hello,

    I am using weblogic 9.2 and trying to get SAAJ 1.3 working. I am receiving the following exception at runtime:
    Code:
    SEVERE: SAAJ0535: Unable to internalize message
    2008-01-03 08:34:40,636 - Could not complete request
    org.springframework.ws.soap.SoapMessageCreationException: Could not create message from InputStream: Unable to internalize message; nested exception is com.sun.xml.messaging.saaj.SOAPExceptionImpl: Unable to internalize messag
    Caused by:
    com.sun.xml.messaging.saaj.SOAPExceptionImpl: Unable to internalize message
            at com.sun.xml.messaging.saaj.soap.MessageImpl.init(MessageImpl.java:470)
            at com.sun.xml.messaging.saaj.soap.MessageImpl.<init>(MessageImpl.java:273)
            at com.sun.xml.messaging.saaj.soap.ver1_1.Message1_1Impl.<init>(Message1_1Impl.java:68)
            at com.sun.xml.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl.createMessage(SOAPMessageFactory1_1Impl.java:62)
            at org.springframework.ws.soap.saaj.SaajSoapMessageFactory.createWebServiceMessage(SaajSoapMessageFactory.java:163)
            at org.springframework.ws.transport.AbstractWebServiceConnection.receive(AbstractWebServiceConnection.java:53)
            at org.springframework.ws.transport.support.WebServiceMessageReceiverObjectSupport.handleConnection(WebServiceMessageReceiverObjectSupport.java:85)
            at org.springframework.ws.transport.http.WebServiceMessageReceiverHandlerAdapter.handle(WebServiceMessageReceiverHandlerAdapter.java:57)
            at org.springframework.ws.transport.http.MessageDispatcherServlet.doService(MessageDispatcherServlet.java:197)
            at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476)
            at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:441)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
            at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
            at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
            at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
            at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
            at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3231)
            at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
            at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
            at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2002)
            at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1908)
            at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1362)
            at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
            at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
    Caused by: java.lang.LinkageError: loader constraints violated when linking org/w3c/dom/Attr class
            at com.sun.xml.messaging.saaj.soap.SOAPPartImpl.<init>(SOAPPartImpl.java:88)
            at com.sun.xml.messaging.saaj.soap.ver1_1.SOAPPart1_1Impl.<init>(SOAPPart1_1Impl.java:58)
            at com.sun.xml.messaging.saaj.soap.ver1_1.Message1_1Impl.getSOAPPart(Message1_1Impl.java:78)
            at com.sun.xml.messaging.saaj.soap.MessageImpl.initCharsetProperty(MessageImpl.java:1304)
            at com.sun.xml.messaging.saaj.soap.MessageImpl.init(MessageImpl.java:363)
            ... 24 more
    
    CAUSE:
    
    java.lang.LinkageError: loader constraints violated when linking org/w3c/dom/Attr class
            at com.sun.xml.messaging.saaj.soap.SOAPPartImpl.<init>(SOAPPartImpl.java:88)
            at com.sun.xml.messaging.saaj.soap.ver1_1.SOAPPart1_1Impl.<init>(SOAPPart1_1Impl.java:58)
            at com.sun.xml.messaging.saaj.soap.ver1_1.Message1_1Impl.getSOAPPart(Message1_1Impl.java:78)
            at com.sun.xml.messaging.saaj.soap.MessageImpl.initCharsetProperty(MessageImpl.java:1304)
            at com.sun.xml.messaging.saaj.soap.MessageImpl.init(MessageImpl.java:363)
            at com.sun.xml.messaging.saaj.soap.MessageImpl.<init>(MessageImpl.java:273)
            at com.sun.xml.messaging.saaj.soap.ver1_1.Message1_1Impl.<init>(Message1_1Impl.java:68)
            at com.sun.xml.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl.createMessage(SOAPMessageFactory1_1Impl.java:62)
            at org.springframework.ws.soap.saaj.SaajSoapMessageFactory.createWebServiceMessage(SaajSoapMessageFactory.java:163)
            at org.springframework.ws.transport.AbstractWebServiceConnection.receive(AbstractWebServiceConnection.java:53)
            at org.springframework.ws.transport.support.WebServiceMessageReceiverObjectSupport.handleConnection(WebServiceMessageReceiverObjectSupport.java:85)
            at org.springframework.ws.transport.http.WebServiceMessageReceiverHandlerAdapter.handle(WebServiceMessageReceiverHandlerAdapter.java:57)
            at org.springframework.ws.transport.http.MessageDispatcherServlet.doService(MessageDispatcherServlet.java:197)
            at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476)
            at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:441)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
            at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
            at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
            at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
            at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
            at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3231)
    I am assuming that this means an older version of the org.w3c.dom stuff is being loaded in a parent classloader. To address this, I have added the following to my weblogic-application.xml file:

    Code:
        <prefer-application-packages>
            <package-name>javax.jws.*</package-name>
            <package-name>javax.xml.*</package-name>
            <package-name>com.sun.xml.*</package-name>        
            <package-name>org.w3c.dom.*</package-name>
            <package-name>org.xml.sax.*</package-name>       
        </prefer-application-packages>
    Drastic? Yes. Working... No. Xml is a mess in Weblogic/Java 5. I am attempting to force weblogic to load these api's from the jar files in my application (all from the spring-ws 1.5 distro). Any ideas what else I can check? Is this situation any better on Java 6?

  2. #2

    Default

    Hello Gemini,

    found any answers yet? I have exactly the same problem...also using weblogic...I can't seem to get the right set of jars in combination with jdk150_06 and spring 2.5.1, spring-ws 1.0.3, saaj1.3...

    anyone?

  3. #3

    Default

    Ok, I noticed that in the FAQ of Spring WS there was a mention of Saaj not working with weblogic 9... so I went from Saaj1.3 to Saaj1.1 (1.2 does not work either according to the faq). But the saaj 1.1 also produces problems:

    org.springframework.beans.factory.BeanInitializati onException: Could not initialize WebServiceMessageReceiverHandlerAdapter; nested exception is org.springframework.beans.factory.BeanCreationExce ption: Invocation of init method failed; nested exception is org.springframework.ws.soap.SoapMessageCreationExc eption: Could not create SAAJ MessageFactory: Unable to create message factory for SOAP: weblogic.webservice.core.soap.MessageFactoryImpl; nested exception is javax.xml.soap.SOAPException: Unable to create message factory for SOAP: weblogic.webservice.core.soap.MessageFactoryImpl
    at org.springframework.ws.transport.http.MessageDispa tcherServlet.initMessageReceiverHandlerAdapter(Mes sageDispatcherServlet.java:257)

    org.springframework.beans.factory.BeanCreationExce ption: Invocation of init method failed; nested exception is org.springframework.ws.soap.SoapMessageCreationExc eption: Could not create SAAJ MessageFactory: Unable to create message factory for SOAP: weblogic.webservice.core.soap.MessageFactoryImpl; nested exception is javax.xml.soap.SOAPException: Unable to create message factory for SOAP: weblogic.webservice.core.soap.MessageFactoryImpl

    I'm getting a bit frustrated and people are trying to convince me to stop using spring ws and fall back on the good old axis way... can anybody here convince me otherwise...?

  4. #4
    Join Date
    Oct 2007
    Posts
    28

    Default Why not use Axiom

    Well, I've used SAAJ 1.2 just fine on WebSphere 6 (sorry, no WebLogic here). But for performance reasons, we've switched to Axiom message factory / Woodstox, which seems to be a lot faster.

  5. #5

    Default

    Ok, I think I solved this issue...

    Downloaded wsdp-1.1 and found saaj-1.1.1 jars with implementation of MessageFactory in saaj-ri.jar.

    For some reason still the wrong messageFactoryImpl was getting created, so added the following to the servlet.xml:

    <bean id="messageFactory" class="org.springframework.ws.soap.saaj.SaajSoapMe ssageFactory">
    <property name="messageFactory">
    <bean class="com.sun.xml.messaging.saaj.soap.MessageFact oryImpl">
    </bean>
    </property>
    </bean>

    This seems to solve the internal message creation problem... I now have an endpoint mapping problem so it looks like I'm one step closer...

  6. #6

    Default Perhaps I can help...

    Dennis,

    I have gotten the 1.5x release to work on WLS 8-10 in the past. Perhaps I can be of assistance. Which version of WLS are you running now?

    Joshua

  7. #7

    Default

    Hello Joshua,

    I'm using WLS 9.2

    I've got it workin by using Saaj 1.1 explicitly defining the MessageFactoryImpl from saaj-ri that needs to be used. I don't know exactly if this is the way it should/needs to be done. But for now it all works.

    regards,

    Dennis

  8. #8

    Default WAR or EAR?

    Dennis,

    I did not have to explicitly define my message factory. Are you packaging this application as a WAR or EAR file? What other jars are you including? In addition to the normal Spring jars, I only had to include the following jars from the Spring-WS distro:

    jaxen-1.1.1.jar
    jdom-1.0.jar
    spring-ws-1.5.0-m1.jar
    wsdl4j-1.6.1.jar

    I recently moved my application to Weblogic 10 so that I could pick up SAAJ 1.3. Weblogic 10 feels continuation of Weblogic 9. If you have this in your environment, give it a try.

    Regards,

    Joshua


    -Joshua

  9. #9
    Join Date
    Jul 2008
    Posts
    7

    Default

    Quote Originally Posted by Joshua White View Post
    Dennis,

    I have gotten the 1.5x release to work on WLS 8-10 in the past. Perhaps I can be of assistance. Which version of WLS are you running now?

    Joshua
    Joshua..
    could you please share me the POM dependencies that you are using to make SpringWS works on Weblogic 9/10?

    Thanks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •