aspose file tools*
The moose likes Web Services and the fly likes OutOfMemoryError when sending SOAP message Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Web Services
Bookmark "OutOfMemoryError when sending SOAP message" Watch "OutOfMemoryError when sending SOAP message" New topic
Author

OutOfMemoryError when sending SOAP message

D J Babu
Greenhorn

Joined: Nov 19, 2008
Posts: 1
We are using WAS 5.1 .
We are sending a large amount of data through SOAP in our applicaion.
We are receiving OutOfMemoryError exception in our server.
Here is the log

BossLog: { 0093} 2008/11/12 13:33:55.599 01 SYSTEM=P101 SERVER=WCP011 PID=0X05000347 TID=0X170B1240 0X00001C
c=4515.1 ./bborjtr.cpp+861 ... BBOO0223I [Servlet Error]-[]: java.lang.OutOfMemoryError
at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java(Compiled Code))
at org.apache.soap.util.mime.ByteArrayDataSource.<init>(Unknown Source)
at org.apache.soap.transport.TransportMessage.getEnvelope(Unknown Source)
at org.apache.soap.transport.TransportMessage.save(Unknown Source)
at org.apache.soap.server.http.RPCRouterServlet.doPost(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))
at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))
at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java(Compiled Code))
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java(Compiled Code))
at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java(Compiled Code))
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java(Inlined Compiled Code))
at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java(Compiled Code))
at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java(Compiled Code))
at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java(Inlined Compiled
Code))
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java(Compiled
Code))
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java(Compiled Code))
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java(Compiled Code))
at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java(Compiled Code))
at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java(Compiled Code))
at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java(Compiled Code))
at com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java(Compiled
Code))
at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java(Compiled Code))
at com.ibm.ws390.wc.httpcatcher.WS390Router$WS390RouterDispatcher.dispatch(WS390Router.java(Compiled Code))
at com.ibm.ws390.wc.httpcatcher.WS390Router$WS390RouterDispatcher.dispatchByURI(WS390Router.java(Compiled Code))
at com.ibm.ws390.wc.httpcatcher.WS390Router$WS390RouterDispatcher.service(WS390Router.java(Compiled Code))
at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java(Compiled Code))
at com.ibm.ws390.wc.http.HttpConnection.readAndHandleRequest(HttpConnection.java(Compiled Code))
at com.ibm.ws390.wc.http.HttpConnection.handle390Request(HttpConnection.java(Compiled Code))
at com.ibm.ws390.wc.httpcatcher.WS390HttpTransport.handleRequest(WS390HttpTransport.java(Compiled Code))
at com.ibm.ws390.wc.httpcatcher.WS390HttpTransportWrapper.httprequest(WS390HttpTransportWrapper.java(Compiled Code))
at com.ibm.ws390.orb.ServerRegionBridge.httpinvoke(ServerRegionBridge.java(Compiled Code))
at com.ibm.ws390.orb.ORBEJSBridge.httpinvoke(ORBEJSBridge.java(Inlined Compiled Code))
at com.ibm.ws390.orb.parameters.HTTPInvoke.HTTPInvokeParmSetter(HTTPInvoke.java(Compiled Code))

Please help in resolving this issue.
William Brogden
Author and all-around good cowpoke
Rancher

Joined: Mar 22, 2000
Posts: 12806
    
    5
I am guessing that you are trying to send bulk data as part of the SOAP message itself. Due to the creation of a DOM of the SOAP message this is slow and consumes excess memory.

The SAAJ - Soap Attachments API for Java protocol was created to handle bulk data gracefully.

Bill
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: OutOfMemoryError when sending SOAP message