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.

        Attachments

          Issue Links

            Activity

              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