1. Axiom
  2. AXIOM-416

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


    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.2.13
    • Fix Version/s: 1.2.14
    • Component/s: API
    • Labels:


      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.

        Issue Links


          Andreas Veithen created issue -
          Andreas Veithen made changes -
          Field Original Value New Value
          Link This issue blocks AXIS2-5302 [ AXIS2-5302 ]
          Andreas Veithen made changes -
          Status Open [ 1 ] In Progress [ 3 ]
          Andreas Veithen made changes -
          Status In Progress [ 3 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Gavin made changes -
          Link This issue blocks AXIS2-5302 [ AXIS2-5302 ]
          Gavin made changes -
          Link This issue is depended upon by AXIS2-5302 [ AXIS2-5302 ]


            • Assignee:
              Andreas Veithen
              Andreas Veithen
            • Votes:
              0 Vote for this issue
              0 Start watching this issue


              • Created: