Axiom
  1. Axiom
  2. AXIOM-416

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

    Details

    • 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:
      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.

        Issue Links

          Activity

          Hide
          Hudson added a comment -

          Integrated in ws-axiom-trunk #911 (See https://builds.apache.org/job/ws-axiom-trunk/911/)
          AXIOM-416: Added a method to the Attachments API that enables streaming of the root part of the MIME message. (Revision 1331714)

          Result = SUCCESS
          veithen :
          Files :

          • /webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/AttachmentSet.java
          • /webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/Attachments.java
          • /webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/AttachmentsDelegate.java
          • /webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/MIMEMessage.java
          • /webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMXMLBuilderFactory.java
          Show
          Hudson added a comment - Integrated in ws-axiom-trunk #911 (See https://builds.apache.org/job/ws-axiom-trunk/911/ ) AXIOM-416 : Added a method to the Attachments API that enables streaming of the root part of the MIME message. (Revision 1331714) Result = SUCCESS veithen : Files : /webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/AttachmentSet.java /webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/Attachments.java /webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/AttachmentsDelegate.java /webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/MIMEMessage.java /webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMXMLBuilderFactory.java

            People

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

              Dates

              • Created:
                Updated:
                Resolved:

                Development