Uploaded image for project: 'Axis2'
  1. Axis2
  2. AXIS2-5462

Axis2 MTOM client exception when downloading file from service to client [Error reading from source]

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Workaround
    • 1.6.2
    • None
    • adb, client-api, wsdl
    • OS: SL 6.2 kernel 2.6 apache-tomcat-7.0.28

    Description

      I am trying to upload and download large binary files with axis2 using MTOM. I am able to upload (from client to server) up to 2GB file without any memory issue either at server side or client side.iy(s work fine
      But when downloading file from server to client, client is getting a exception clien side :Error reading from source

      When the response received at client side, javax.activation.Datahandler is embedded in the response which is a pointer to InputStream.
      The exception java is up at the instruction ataHandler.writeTo(fileOutputStream);
      DataHandler dataHandler = getResponse.getFile().getBase64Binary();
      FileOutputStream fileOutputStream = new FileOutputStream(f);
      if (dataHandler != null) dataHandler.writeTo(fileOutputStream);

      And this is the same mechanism while uploading, and there is no problem at that end.

      Seems to be a bug at client side ??
      server side
      <parameter name="enableMTOM">true</parameter>

      printTrace exception
      org.apache.axiom.om.OMException: org.apache.axiom.ext.io.StreamCopyException: Error reading from source

      at org.apache.axiom.attachments.PartContentFactory.createPartContent(PartContentFactory.java:153)
      at org.apache.axiom.attachments.PartImpl.fetch(PartImpl.java:176)
      at org.apache.axiom.attachments.PartImpl.getContent(PartImpl.java:149)
      at org.apache.axiom.attachments.PartImpl.writeTo(PartImpl.java:238)
      at org.apache.axiom.attachments.PartDataHandler.writeTo(PartDataHandler.java:65)
      at iphc.wsdl.client.ClientImpl.handleGetResponse(ClientImpl.java:133)
      at ClientGetFile.main(ClientGetFile.java:39)
      Caused by: org.apache.axiom.ext.io.StreamCopyException: Error reading from source
      at org.apache.axiom.attachments.utils.BAAOutputStream.readFrom(BAAOutputStream.java:114)
      at org.apache.axiom.attachments.impl.BufferUtils.inputStream2OutputStream(BufferUtils.java:76)
      at org.apache.axiom.attachments.PartContentFactory.createPartContent(PartContentFactory.java:119)
      ... 6 more
      Caused by: java.io.IOException: Attempted read on closed stream.
      at org.apache.commons.httpclient.AutoCloseInputStream.isReadAllowed(AutoCloseInputStream.java:183)
      at org.apache.commons.httpclient.AutoCloseInputStream.read(AutoCloseInputStream.java:107)
      at java.io.FilterInputStream.read(FilterInputStream.java:133)
      at org.apache.axiom.om.util.DetachableInputStream.read(DetachableInputStream.java:147)
      at org.apache.james.mime4j.io.BufferedLineReaderInputStream.fillBuffer(BufferedLineReaderInputStream.java:111)
      at org.apache.james.mime4j.io.MimeBoundaryInputStream.fillBuffer(MimeBoundaryInputStream.java:223)
      at org.apache.james.mime4j.io.MimeBoundaryInputStream.read(MimeBoundaryInputStream.java:157)
      at org.apache.james.mime4j.io.BufferedLineReaderInputStream.fillBuffer(BufferedLineReaderInputStream.java:111)
      at org.apache.james.mime4j.io.BufferedLineReaderInputStream.read(BufferedLineReaderInputStream.java:158)
      at org.apache.james.mime4j.io.LineReaderInputStreamAdaptor.read(LineReaderInputStreamAdaptor.java:67)
      at org.apache.axiom.attachments.utils.BAAOutputStream.readFrom(BAAOutputStream.java:112)
      ... 8 more

      thank's

      Attachments

        Activity

          People

            Unassigned Unassigned
            guterl Guterl Patrick
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: