Hi all,

My issue is related to Rampart 77[1], I get "Out of memory" when uploading a
large file(650 mb), to a web service with mtom and rampart enabled. The
stack trace looks like this

java.lang.OutOfMemoryError: Java heap space
        at org.apache.axiom.attachments.
utils.BAAOutputStream.addBuffer(BAAOutputStream.java:47)
        at
org.apache.axiom.attachments.utils.BAAOutputStream.receive(BAAOutputStream.java:106)
        at
org.apache.axiom.attachments.impl.BufferUtils.inputStream2BAAOutputStream(BufferUtils.java:217)
        at
org.apache.axiom.attachments.impl.BufferUtils.inputStream2OutputStream(BufferUtils.java:78)
        at
org.apache.axiom.attachments.impl.PartFactory.createPart(PartFactory.java:136)
        at
org.apache.axiom.attachments.Attachments.getPart(Attachments.java:672)
        at
org.apache.axiom.attachments.Attachments.getNextPartDataHandler(Attachments.java:590)
        at
org.apache.axiom.attachments.Attachments.getDataHandler(Attachments.java:345)
        at
org.apache.axiom.soap.impl.builder.MTOMStAXSOAPModelBuilder.getDataHandler(MTOMStAXSOAPModelBuilder.java:116)
        at
org.apache.axiom.om.impl.llom.OMTextImpl.getDataHandler(OMTextImpl.java:365)
        at
org.apache.axiom.om.impl.llom.OMStAXWrapper.getProperty(OMStAXWrapper.java:1036)
        at
javax.xml.stream.util.StreamReaderDelegate.getProperty(StreamReaderDelegate.java:257)
        at
org.apache.axiom.om.impl.builder.StAXBuilder.createOMText(StAXBuilder.java:265)
        at
org.apache.axiom.om.impl.builder.StAXBuilder.createOMText(StAXBuilder.java:246)
        at
org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:217)
        at org.apache.axiom.om.impl.dom.NodeImpl.build(NodeImpl.java:449)
        at
org.apache.axiom.om.impl.dom.DocumentImpl.build(DocumentImpl.java:486)
        at
org.apache.rampart.util.Axis2Util.getDocumentFromSOAPEnvelope(Axis2Util.java:134)
        at
org.apache.rampart.RampartMessageData.<init>(RampartMessageData.java:158)
        at org.apache.rampart.RampartEngine.process(RampartEngine.java:70)
        at
org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:92)
        at org.apache.axis2.engine.Phase.invoke(Phase.java:318)
        at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:251)
        at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:160)
        at
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:167)
        at
org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:142)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
Apr 7, 2010 8:33:05 AM org.apache.coyote.http11.Http11Protocol pause

Was wondering if there was any solution for this? I noticed this mail[2] on
the list but no one answered on it. The transfer goes fine without rampart
enabled.

cheers, Håkon

[1] http://issues.apache.org/jira/browse/RAMPART-77
[2] http://osdir.com/ml/axis-user-ws.apache.org/2009-10/msg00051.html


-- 
Håkon Sagehaug, Scientific Programmer
Parallab, Uni BCCS/Uni Research
[email protected], phone +47 55584125

Reply via email to