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/

Reply via email to