Again the question....any ideas why the memory usage explodes as soon as
the transmission over axis starts? The file i am trying to submit is
read in not even a second and doesnt need much memory. I debugged this
already. I cant find any explanation.
Thanks for any help!
Michael
The problem doesnt arise while reading the data. I reach the end of
the method after not even a second. But the process of sending the
array over the ws takes all the time. The exception also doesnt arise
while writing the file. It is thrown within the Axis lib.
A small data set like that shouldn't be a problem. Have you checked your
code for the usual suspects (Infinite loops, connections not being
closed/reset, unflushed caches, unreleased resources, etc.)?
-----Original Message-----
From: Michael Rudolf [mailto:[EMAIL PROTECTED] Sent:
Monday, November 14, 2005 1:32 PM
To: [email protected]
Subject: Re: Submitting large byte[] with Axis
Hi,
thx for the fast reply. It looks like the Client is the problem here.
But the byte[] data is nor more than 100kb. Why does it need so much
memory?
Michael
Hello,
it depends on the setting in your JVM.
You can change memory size when you start java.
Regards,
German
Michael Rudolf wrote:
Hi,
i am experimenting with submitting byte[] over axis. When they
reach a certain size i get an exception in the Client that called
the WS:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
The Server Exception is:
java.io.IOException:
ClientAbortException: java.net.SocketException: Software caused
connection abort: socket write error
at
org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffe
r.java:366)
at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:299)
at
org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.ja
va:392)
at
org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:381)
at
org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputSt
ream.java:76)
at org.apache.axis.utils.ByteArray.writeTo(ByteArray.java:375)
at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:265)
at org.apache.axis.Message.writeTo(Message.java:528)
at
org.apache.axis.transport.http.AxisServlet.sendResponse(AxisServlet.j
ava:902)
at
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:777)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBas
e.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:173)
at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFi
lter.java:81)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:178)
at
org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrinc
ipalValve.java:39)
at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Securit
yAssociationValve.java:159)
at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValv
e.java:59)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:105)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:148)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:856)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ssConnection(Http11Protocol.java:744)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
int.java:527)
at
org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWor
kerThread.java:112)
at java.lang.Thread.run(Thread.java:595)
Has anybody transferred larger byte[] over axis successfully. How big
can they get (MBytes?). Any ideas how to submit such large data
over axis?
Thanks!
Michael