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

Full streaming WebServiceMessage/SoapMessage

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.0 RC1
    • Component/s: Core
    • Labels:
      None

      Description

      Currently, WebServiceMessage and its subinterface SoapMessage offer the getSource() and getResult() methods to the contents of the payload. When an endpoint is invoked, the response Source it returns is transormed into the Result of the response message. This transformation has the benefit that the message is always in sync, i.e. the writeTo() method will write the current contents of the message. The downside is that this transformation is rather slow, since a DOM/Axiom tree needs to be built.

      As an alternative, we could do this conversion lazily: if we introduce a setSource(Source) method on the WebServiceMessage (or an sub-interface which extends WebServiceMessage), we could simply set the result of the endpoint on the response message, not creating a DOM tree (yet). Later, when the message is written to the transport stream, we directly transform the set payload Source to the stream, thus saving overhead.

      In a way, this is similar to SWS-302, but has the extra benefit that the payload contents is not kept in a buffer.

        Issue Links

          Activity

          arjen.poutsma Arjen Poutsma logged work - 25/Aug/10 6:32 AM
          • Time Spent:
            1d 41m
             
            <No comment>
          arjen.poutsma Arjen Poutsma logged work - 10/Nov/10 3:07 AM
          • Time Spent:
            0.6h
             
            <No comment>

            People

            • Assignee:
              arjen.poutsma Arjen Poutsma
              Reporter:
              arjen.poutsma Arjen Poutsma
            • Votes:
              16 Vote for this issue
              Watchers:
              20 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 5d
                5d
                Remaining:
                Time Spent - 1d 1h 17m Remaining Estimate - 3d 6h 43m
                3d 6h 43m
                Logged:
                Time Spent - 1d 1h 17m Remaining Estimate - 3d 6h 43m
                1d 1h 17m