2010/4/29 Håkon Sagehaug <[email protected]> > 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. >
I think you need to increase the jvm heap size. use some thing like Xmx2048m thanks, Amila. > > 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 > -- Amila Suriarachchi WSO2 Inc. blog: http://amilachinthaka.blogspot.com/
