Announcement Announcement Module
Collapse
No announcement yet.
Spring WS and JBoss (a tale of broken implementations) Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Spring WS and JBoss (a tale of broken implementations)

    As Arjen is aware, and several others have experienced, the JBoss javax.xml.soap implementation has some... issues.

    Specifically the message it produces from its MessageFactory implementation causes problems with the Transformer when the responseElement from an endpoint is transformed into the request portion of the message.

    You can force the use of the sun MessageFactory implementation in your servlet.xml file as follows:

    Code:
    <bean id="messageFactory"
      class="com.sun.xml.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl" />
    <bean id="messageContextFactory" 
      class="org.springframework.ws.soap.saaj.SaajSoapMessageContextFactory">
      <property name="messageFactory" ref="messageFactory" />
    </bean>
    <bean id="messageEndpointHandlerAdapter"
    class="org.springframework.ws.transport.http.MessageEndpointHandlerAdapter">
      <property name="messageContextFactory" ref="messageContextFactory"/>
    </bean>
    I hope this helps some people attempting to get spring-ws working on Jboss.

  • #2
    Originally posted by mojorisin View Post
    As Arjen is aware, and several others have experienced, the JBoss javax.xml.soap implementation has some... issues.

    Specifically the message it produces from its MessageFactory implementation causes problems with the Transformer when the responseElement from an endpoint is transformed into the request portion of the message.

    You can force the use of the sun MessageFactory implementation in your servlet.xml file as follows:

    Code:
    <bean id="messageFactory"
      class="com.sun.xml.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl" />
    <bean id="messageContextFactory" 
      class="org.springframework.ws.soap.saaj.SaajSoapMessageContextFactory">
      <property name="messageFactory" ref="messageFactory" />
    </bean>
    <bean id="messageEndpointHandlerAdapter"
    class="org.springframework.ws.transport.http.MessageEndpointHandlerAdapter">
      <property name="messageContextFactory" ref="messageContextFactory"/>
    </bean>
    I hope this helps some people attempting to get spring-ws working on Jboss.
    I have been looking into implementing spring ws with JBoss and have run into some problems too. I get an exception error that says:

    java.lang.UnsupportedOperationException: setProperty must be overridden by all subclasses of SOAPMessage
    javax.xml.soap.SOAPMessage.setProperty(SOAPMessage .java:424)
    org.jboss.ws.core.soap.SOAPMessageImpl.<init>(SOAP MessageImpl.java:67)

    I have read that this error is caused by JBoss incompatibility with jdk 1.6 and I have been trying the suggestion of moving some jar to JBoss server's lib\endorsed directory but have gotten nowhere.

    First question, is this issue related to mojorisin's post? I don't know if my project could force other applications running on the JBoss server to revert to 1.5 but is that my only alternative?

    Comment

    Working...
    X