[
https://issues.apache.org/jira/browse/AXIS2-3872?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12628637#action_12628637
]
Thilina Gunarathne commented on AXIS2-3872:
-------------------------------------------
Hi Nikolaus,
As I said earlier file caching is only for receiving large attachments, When
sending DataHandlers take care of not loading the binary data to memory as long
as possible. For an example if u create a datahandler using a file, the
contents will be directly written to the output stream when MTOM/SwA is used.
But if u created a datahandler using a byte[], then the contents are already in
memory.. So u r out of luck..
Back to the original issue... Looks like ur binary data is getting sent as
inline base64binary, not as an attachment. You can verify this by sending a
smaller attachment and then looking at the message using a tool like tcpmon
(http://ws.apache.org/commons/tcpmon). In this case the error is unavoidable...
U should get the binary data to be sent back as an attachment...
> MTOM Issues
> -----------
>
> Key: AXIS2-3872
> URL: https://issues.apache.org/jira/browse/AXIS2-3872
> Project: Axis 2.0 (Axis2)
> Issue Type: Bug
> Affects Versions: 1.4
> Environment: Tomcat 5.5 on Windows XP Pro SP2
> Reporter: Renjith C
> Assignee: Thilina Gunarathne
>
> 1)
> When axis2.xml property,
> <parameter name="enableMTOM">true</parameter> is set to true, even though the
> caching is enabled the file is not getting saved on to the disk.
> 2)
> Exception thrown when a 470M file is send over using MTOM.
> [ERROR] Java heap space
> java.lang.OutOfMemoryError: Java heap space
> at java.util.Arrays.copyOf(Unknown Source)
> at java.lang.AbstractStringBuilder.expandCapacity(Unknown Source)
> at java.lang.AbstractStringBuilder.append(Unknown Source)
> at java.lang.StringBuffer.append(Unknown Source)
> at org.apache.axiom.om.util.Base64.encode(Base64.java:250)
> at org.apache.axiom.om.util.TextHelper.toString(TextHelper.java:33)
> at org.apache.axiom.om.impl.llom.OMTextImpl.getText(OMTextImpl.java:269)
> at
> org.apache.axiom.om.impl.llom.OMTextImpl.writeOutput(OMTextImpl.java:255)
> at
> org.apache.axiom.om.impl.llom.OMTextImpl.internalSerializeLocal(OMTextImpl.java:433)
> at
> org.apache.axiom.om.impl.llom.OMTextImpl.internalSerializeAndConsume(OMTextImpl.java:408)
> at
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:918)
> at
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:947)
> at
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:918)
> at
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:947)
> at
> org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.serializeInternally(SOAPEnvelopeImpl.java:240)
> at
> org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize(SOAPEnvelopeImpl.java:228)
> at
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:947)
> at
> org.apache.axiom.om.impl.llom.OMNodeImpl.serializeAndConsume(OMNodeImpl.java:471)
> at
> org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:79)
> at
> org.apache.axis2.transport.http.CommonsHTTPTransportSender.sendUsingOutputStream(CommonsHTTPTransportSender.java:330)
> at
> org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:213)
> at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:448)
> at
> org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.invokeBusinessLogic(AbstractInOutSyncMessageReceiver.java:45)
> at
> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:100)
> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176)
> at
> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
> at
> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:131)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]