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

Do not transform request payload Sources when not necessary

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.5.4
    • Component/s: Core
    • Labels:
      None

      Description

      Currently, all request Sources are transformed into the required type. For instance, the AbstractDomPayloadEndpoint always transforms the request Source into a DOMResult, and passes that on to invokeInternal(). This is quite expensive, and not required.

      Instead, we should inspect the source, and see if it is of the required type. If so, use it directly, otherwise, transform.

        Activity

        Hide
        arjen.poutsma Arjen Poutsma added a comment -

        Fixed. The AbstractDomPayloadEndpoint, AbstractJDomPayloadEndpoint, AbstractDom4jPayloadEndpoint, and AbstractXomPayloadEndpoint now use this more efficient mechanism.

        The old, transforming behavior can still be obtained by setting a "alwaysTransform" boolean property to true. Default is false.

        Show
        arjen.poutsma Arjen Poutsma added a comment - Fixed. The AbstractDomPayloadEndpoint, AbstractJDomPayloadEndpoint, AbstractDom4jPayloadEndpoint, and AbstractXomPayloadEndpoint now use this more efficient mechanism. The old, transforming behavior can still be obtained by setting a "alwaysTransform" boolean property to true. Default is false.
        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:
            arjen.poutsma Arjen Poutsma
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: