Uploaded image for project: 'Spring Web Services'
  1. Spring Web Services
  2. SWS-160

Weblogic 10: SAAJ UnsupportedOperationException

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Won't Fix
    • Affects Version/s: 1.0 M3
    • Fix Version/s: None
    • Component/s: Core
    • Labels:
      None
    • Environment:
      Java 1.5
      Weblogic 10

      Description

      java.lang.UnsupportedOperationException: This class does not support SAAJ 1.3
      at weblogic.webservice.core.soap.SOAPElementImpl.getElementQName(SOAPElementImpl.java:651)
      at org.springframework.ws.soap.saaj.Saaj13Implementation.getName(Saaj13Implementation.java:67)
      at org.springframework.ws.soap.saaj.SaajSoapEnvelope.getBody(SaajSoapEnvelope.java:49)
      at org.springframework.ws.soap.AbstractSoapMessage.getSoapBody(AbstractSoapMessage.java:35)
      at org.springframework.ws.soap.AbstractSoapMessage.getPayloadResult(AbstractSoapMessage.java:56)

      We probably need to have a workaround similar to the existing one for weblogic 9.

        Issue Links

          Activity

          Hide
          jpeterson Jeff Peterson added a comment -

          I wrote a little patch that will force SAAJ 1.2 on weblogic 10 but now im seeing the following exception:

          java.lang.UnsupportedOperationException: This class does not support SAAJ 1.1
          at weblogic.webservice.core.soap.SOAPElementImpl.removeContents(SOAPElementImpl.java:384)
          at org.springframework.ws.soap.saaj.Saaj12Implementation.removeContents(Saaj12Implementation.java:194)
          at org.springframework.ws.soap.saaj.SaajSoapBody.getPayloadResult(SaajSoapBody.java:43)
          at org.springframework.ws.soap.AbstractSoapMessage.getPayloadResult(AbstractSoapMessage.java:56)
          at org.springframework.ws.client.core.WebServiceTemplate$1.doInMessage(WebServiceTemplate.java:130)
          at org.springframework.ws.client.core.WebServiceTemplate.sendAndReceive(WebServiceTemplate.java:193)

          Show
          jpeterson Jeff Peterson added a comment - I wrote a little patch that will force SAAJ 1.2 on weblogic 10 but now im seeing the following exception: java.lang.UnsupportedOperationException: This class does not support SAAJ 1.1 at weblogic.webservice.core.soap.SOAPElementImpl.removeContents(SOAPElementImpl.java:384) at org.springframework.ws.soap.saaj.Saaj12Implementation.removeContents(Saaj12Implementation.java:194) at org.springframework.ws.soap.saaj.SaajSoapBody.getPayloadResult(SaajSoapBody.java:43) at org.springframework.ws.soap.AbstractSoapMessage.getPayloadResult(AbstractSoapMessage.java:56) at org.springframework.ws.client.core.WebServiceTemplate$1.doInMessage(WebServiceTemplate.java:130) at org.springframework.ws.client.core.WebServiceTemplate.sendAndReceive(WebServiceTemplate.java:193)
          Hide
          jpeterson Jeff Peterson added a comment -

          The weblogic 9/10 SAAJ implementation seems to be pretty fundamentally broken. I had to switch to the sun implementation to get things to work.

          Show
          jpeterson Jeff Peterson added a comment - The weblogic 9/10 SAAJ implementation seems to be pretty fundamentally broken. I had to switch to the sun implementation to get things to work.
          Show
          arjen.poutsma Arjen Poutsma added a comment - This is in the FAQ: http://static.springframework.org/spring-ws/site/faq.html#saaj-weblogic9
          Hide
          david.turing David.Turing added a comment -

          Dear Jeff Peterson, I check code of weblogic.webservice.core.soap.SOAPElementImpl which implements SOAPElement, SOAPFaultElement and DetailEntry.
          It did not implement the removeContents method, just throws the exception.

          I check weblogic.xml.saaj.SOAPElementImpl in D:\bea100\modules\com.bea.core.weblogic.saaj_1.0.1.0.jar
          It implement the removeContents().
          Perhaps we should consider using weblogic.xml.saaj.SOAPElementImpl rather than weblogic.webservice.core.soap.SOAPElementImpl.

          There are history reasons behind that, I hope we really could make spring support the newer WebService Stack in WebLogic 10.

          Show
          david.turing David.Turing added a comment - Dear Jeff Peterson, I check code of weblogic.webservice.core.soap.SOAPElementImpl which implements SOAPElement, SOAPFaultElement and DetailEntry. It did not implement the removeContents method, just throws the exception. I check weblogic.xml.saaj.SOAPElementImpl in D:\bea100\modules\com.bea.core.weblogic.saaj_1.0.1.0.jar It implement the removeContents(). Perhaps we should consider using weblogic.xml.saaj.SOAPElementImpl rather than weblogic.webservice.core.soap.SOAPElementImpl. There are history reasons behind that, I hope we really could make spring support the newer WebService Stack in WebLogic 10.
          Hide
          david.turing David.Turing added a comment -

          weblogic.webservice.core.soap.* is the old implementation which is deprecated
          in 9.x/10. We should use the new implemenation weblogic.xml.saaj.*, which locates in :
          D:\bea100\modules\com.bea.core.weblogic.saaj_1.0.1.0.jar

          In Spring we should register the SOAPMessageFactory by calling

          System.setProperty("javax.xml.soap.MessageFactory",
          "weblogic.xml.saaj.MessageFactoryImpl");

          Or we can specify this via
          -Djavax.xml.soap.MessageFactory=weblogic.xml.saaj.MessageFactoryImpl

          David.Turing
          BEA Customer Support
          http://openssl.blogjava.net
          Yahoo id: david_turing

          Show
          david.turing David.Turing added a comment - weblogic.webservice.core.soap.* is the old implementation which is deprecated in 9.x/10. We should use the new implemenation weblogic.xml.saaj.*, which locates in : D:\bea100\modules\com.bea.core.weblogic.saaj_1.0.1.0.jar In Spring we should register the SOAPMessageFactory by calling System.setProperty("javax.xml.soap.MessageFactory", "weblogic.xml.saaj.MessageFactoryImpl"); Or we can specify this via -Djavax.xml.soap.MessageFactory=weblogic.xml.saaj.MessageFactoryImpl David.Turing BEA Customer Support http://openssl.blogjava.net Yahoo id: david_turing
          Hide
          arjen.poutsma Arjen Poutsma added a comment -

          Thanks for this, David, I will update the FAQ accordingly.

          Show
          arjen.poutsma Arjen Poutsma added a comment - Thanks for this, David, I will update the FAQ accordingly.

            People

            • Assignee:
              arjen.poutsma Arjen Poutsma
              Reporter:
              jpeterson Jeff Peterson
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: