axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thilina Gunarathne (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AXIS2-3872) MTOM Issues
Date Fri, 05 Sep 2008 14:09:44 GMT

    [ 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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


Mime
View raw message