axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andreas Veithen (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AXIS2-3872) MTOM Issues
Date Mon, 05 Jan 2009 15:55:44 GMT

    [ https://issues.apache.org/jira/browse/AXIS2-3872?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12660797#action_12660797
] 

Andreas Veithen commented on AXIS2-3872:
----------------------------------------

There are two things here:

1) For some reason (related to the enableSwA/enableMTOM settings) Axiom tries to inline the
data (as Base64 encoded text). I'm not sure exactly why this is so. Maybe Thilina may help
here.

2) OMTextImpl.writeOutput doesn't do a good job when converting the DataHandler to Base64:
it calls OMTextImpl.getText, which means that Axiom will construct a single String from the
complete DataHandler content. For large contents this will inevitably lead to out of memory
errors. The correct strategy is to do the conversion in chunks. This is an Axiom issue and
I can have a look at this.

> 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.


Mime
View raw message