Uploaded image for project: 'Axiom'
  1. Axiom
  2. AXIOM-416

Enable streaming of the root part of a MIME message using the Attachments API

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.2.13
    • 1.2.14
    • API
    • None

    Description

      Before version 1.2.13, Axiom always loaded the root (SOAP) part of a MIME message into memory. Axiom 1.2.13 introduced support for streaming of the root part. If that feature is used, the root part will not be loaded into memory unless an attempt is made to access another part of the MIME message (in which case Axiom buffers the remaining - i.e. unconsumed - content of the root part).

      However, this feature is only supported by the OMXMLBuilderFactory#createSOAPModelBuilder(Attachments) and OMXMLBuilderFactory#createSOAPModelBuilder(OMMetaFactory, Attachments) APIs. These methods are not used by Axis2, and cannot be used because Axis2 relies its own API (org.apache.axis2.builder.Builder) to process the root part, in particular to support SwA (while OMXMLBuilderFactory only supports MTOM). To allow Axis2 to take advantage of the feature, it is necessary to introduce a new method in the Attachments class.

      The proposal is to add a method with the following signature:

      InputStream getRootPartInputStream(boolean preserve)

      If preserve == true, the method will behave in the same way as the existing getRootPartInputStream() method. If preserve == false, then streaming will be enabled.

      Attachments

        Issue Links

          Activity

            People

              veithen Andreas Veithen
              veithen Andreas Veithen
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: