You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Marvin Brach <mb...@spring.de> on 2004/11/24 10:55:48 UTC

high amount of data causes java.net.SocketException

hi list,

if i try to send a class encapsulating a ArrayList wich has the size of  
10000 to 20000
(thats just on my little testsystem, in real situations they should be 
200000 to 500000)
String[2] arrays, my program ends with following stacktrace:

    /- java.io.IOException:
    java.net.SocketException: Software caused connection abort: socket
    write error
        at java.net.SocketOutputStream.socketWrite0(Native Method)
        at
    java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
        at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
        at com.sun.net.ssl.internal.ssl.OutputRecord.a(DashoA6275)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA6275)
        at com.sun.net.ssl.internal.ssl.AppOutputStream.write(DashoA6275)
        at java.io.BufferedOutputStream.write(BufferedOutputStream.java:106)
        at
    sun.nio.cs.StreamEncoder$CharsetSE.writeBytes(StreamEncoder.java:336)
        at
    sun.nio.cs.StreamEncoder$CharsetSE.implWrite(StreamEncoder.java:395)
        at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:136)
        at java.io.OutputStreamWriter.write(OutputStreamWriter.java:191)
        at java.io.BufferedWriter.flushBuffer(BufferedWriter.java:111)
        at java.io.BufferedWriter.write(BufferedWriter.java:206)
        at java.io.Writer.write(Writer.java:126)
        at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:277)
        at org.apache.axis.Message.writeTo(Message.java:440)
        at
    org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:466)
        at
    org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:122)
        at
    org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
        at org.apache.axis.client.AxisClient.invoke(AxisClient.java:180)
        at org.apache.axis.client.Call.invokeEngine(Call.java:2564)
        at org.apache.axis.client.Call.invoke(Call.java:2553)
        at org.apache.axis.client.Call.invoke(Call.java:2248)
        at org.apache.axis.client.Call.invoke(Call.java:2171)
        at org.apache.axis.client.Call.invoke(Call.java:1691)
        at
    de.spring.analysis.samplemanager.qs.QSSampleManagerClient.importSample(QSSampleManagerClient.java:140)
        at
    de.spring.analysis.samplemanager.qs.QSSampleManagerClient.main(QSSampleManagerClient.java:540)

    /

in usual it needs between 90000 and 11000 millisenconds to create call 
invoke it and resolving the return value.
but in cases of  this SocketException it only takes 20000 millis.
for this i think its a unavailability of an buffer which is flushing or 
blocked in something other way else.
but how can i check this through the channel or the service, if it is 
so. and if is not, what can it be?

please write anything you would think it can help. in documentations and 
google i don't find just a little point.
and on my search requests to marc it only answers with errors :o(

thanks for any help and for everey try of it.
Marvin