[ http://issues.apache.org/jira/browse/AXIS-2134?page=comments#action_12316859 ]
Rodrigo Ruiz commented on AXIS-2134: ------------------------------------ Great, this works for me! Only a question: Being sure that the result from the Math.min() call is an integer value, would not it be better to use a simple type-cast? Something like: int ret = (int)Math.min(Integer.MAX_VALUE, totalsz - bread); Or there is any advantage in using the Long.intValue() method? Thanks :-) Rodrigo Ruiz > ManagedMemoryDataSource does not correctly handle large attachments > ------------------------------------------------------------------- > > Key: AXIS-2134 > URL: http://issues.apache.org/jira/browse/AXIS-2134 > Project: Apache Axis > Type: Bug > Components: Serialization/Deserialization > Versions: 1.2.1 > Environment: Not platform dependent > Reporter: Rodrigo Ruiz > > When trying to send an attachment larger than 2Gbytes, I get IndexOutOfBound > exceptions. > I think the problem is in the ManagedMemoryDataSource.InStream class > implementation. I do not have access to the source CVS, so it's difficult to > me to provide a correct patch, but I can describe it: > - The bread field should be a "long", instead of an "int" > - The available() method should return Math.min(Integer.MAX_VALUE, totalsz - > bread), to ensure an integer is returned -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
