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

AxiomSoapMessageFactory payloadCaching=false causes org.springframework.ws.soap.axiom.AxiomSoapEnvelope.getBody() to fail

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.5.5
    • Fix Version/s: 1.5.6
    • Component/s: Core
    • Labels:
      None
    • Environment:
      Spring 2.5.6, Windows xp, Jetty 6.1.11, apache.axiom 1.2.7, Soap UI, saaj-api and saaj-impl 1.3, jaxen 1.1

      Description

      http://forum.springframework.org/showthread.php?t=64350

      Hello,

      I have problem with AxiomSoapMessageFactory payloadCaching=false.

      Spring config is simple as this:

      <bean id="messageFactory" class="org.springframework.ws.soap.axiom.AxiomSoapMessageFactory">
        <property name="payloadCaching" value="false"/>
      </bean>
       
      <bean class="org.springframework.ws.soap.server.endpoint.mapping.SoapActionEndpointMapping">
        <property name="mappings">
          <props>
            <prop key="SoapAction1">endpoint1</prop>
          </props>
        </property>
      </bean>
       
      <bean id="wsdl" class="org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition">
        <property name="schema" ref="schema" />
        <property name="portTypeName" value="resource1" />
        <property name="locationUri" value="/service1/" />
        <property name="targetNamespace" value="my.service" />
        <property name="soapActions">
          <props>
            <prop key="UploadAddressMaterial">SoapAction1</prop>
          </props>
        </property>
      </bean>
       
      <bean id="schema" class="org.springframework.xml.xsd.SimpleXsdSchema ">
        <property name="xsd" value="/WEB-INF/schema.xsd" />
      </bean>

      I'm not using any kind of interceptors.

      Actual ws end point extends AbstractStaxStreamPayloadEndpoint but the request doesn't get that far.

      I get exception "com.sun.jdi.InvocationException occurred invoking method." when trying to invoke the web service in method org.springframework.ws.soap.axiom.AxiomSoapEnvelope.getBody().

      Line 59 SOAPBody axiomBody = getAxiomEnvelope().getBody(); fails some how and the OMException on line 71 is catched. This leads to:

      "Nested in org.springframework.ws.soap.axiom.AxiomSoapMessage Exception: Could not write message to OutputStream: problem accessing the parser. Parser already accessed!; nested exception is javax.xml.stream.XMLStreamException: problem accessing the parser. Parser already accessed!:
      java.lang.IllegalStateException: Parser already accessed! "

      I am running spring ws v.1.5.5 and spring core 2.5.6.

      Everything works fine if payloadCaching is true.

      Is this a bug? There is a resolved Jira that looks much the same: id SWS-359

      1. screenshot-1.jpg
        151 kB
      2. screenshot-2.jpg
        207 kB

        Activity

        Hide
        nikkeri Nikkeri2001 added a comment -

        SoapUI test with empty reply.

        Show
        nikkeri Nikkeri2001 added a comment - SoapUI test with empty reply.
        Hide
        tareq Tareq Abedrabbo added a comment -

        There was an issue with the snapshot builds. Now that the issue is fixed, would you please try a recent snapshot to see if this fixes the issue for you?

        Show
        tareq Tareq Abedrabbo added a comment - There was an issue with the snapshot builds. Now that the issue is fixed, would you please try a recent snapshot to see if this fixes the issue for you?
        Hide
        nikkeri Nikkeri2001 added a comment -

        Echo works now!
        This is so fantacstic! Thank you guys.

        So the problem was I couldn't get the latest version of Spring-ws from the snapshot repository.

        Nikkeri

        Show
        nikkeri Nikkeri2001 added a comment - Echo works now! This is so fantacstic! Thank you guys. So the problem was I couldn't get the latest version of Spring-ws from the snapshot repository. Nikkeri
        Hide
        arjen.poutsma Arjen Poutsma added a comment -

        Great!

        Once again, sorry about the snapshot issue, but it's good that it has been resolved now.

        Show
        arjen.poutsma Arjen Poutsma added a comment - Great! Once again, sorry about the snapshot issue, but it's good that it has been resolved now.
        Hide
        arjen.poutsma Arjen Poutsma added a comment -

        Closing old issues

        Show
        arjen.poutsma Arjen Poutsma added a comment - Closing old issues

          People

          • Assignee:
            arjen.poutsma Arjen Poutsma
            Reporter:
            nikkeri Nikkeri2001
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: