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