[
https://issues.apache.org/jira/browse/AXIS2-5462?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17199716#comment-17199716
]
Robert Lazarski commented on AXIS2-5462:
----------------------------------------
Axis 1.6.2 is quite old now and unsupported. I suggest upgrading both.
Still, this issue is similar to the closed issue AXIS2-5487 .
On that one, my conclusion was that OS open file limits and reverse proxy
servers closing the connection can cause this error.
And you need to be careful that you are not using httpclient 3.x in your client
code, in a way that AUTO_RELEASE_CONNECTION is closing the connection too
early.
So while httpclient 4.x does not have the AutoCloseInputStream class, I
wouldn't rule out OS errors and also reverse proxy errors with haproxy, nginx
etc.
> Axis2 MTOM client exception when downloading file from service to client
> [Error reading from source]
> ----------------------------------------------------------------------------------------------------
>
> Key: AXIS2-5462
> URL: https://issues.apache.org/jira/browse/AXIS2-5462
> Project: Axis2
> Issue Type: Bug
> Components: adb, client-api, wsdl
> Affects Versions: 1.6.2
> Environment: OS: SL 6.2 kernel 2.6 apache-tomcat-7.0.28
> Reporter: Guterl Patrick
> Priority: Major
> Labels: patch
>
> 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
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]