Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.6.1
-
None
-
None
-
Windows XP, Windows 7, jdk1.6.0_26
Description
I am working on an Axis 2 (1.6.1) java client generated with wsdl2java.
It seems to be working but from time to time I get the following error :
14:38:04,855 INFO [HTTPSender] Unable to sendViaPost to url[...]
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:168)
at com.sun.net.ssl.internal.ssl.InputRecord.readFully(InputRecord.java:293)
at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:331)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:798)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:755)
at com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:75)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:78)
at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106)
I am wondering if this could be a multi-threading issue and would like to get some answers on the matter.
I use a stub that caches the HttpClient. The HttpClient uses the MultiThreadedHttpConnectionManager and I set the setDefaultMaxConnectionsPerHost to 20.
I understand that the HttpClient by virtue of the associated MultiThreadedHttpConnectionManager will be thread-safe.
The question is what happens with the Axis2 stub ? Will the stub be thread-safe as well ?
I have seen some posts where it is stated that Axis2 stubs are not thread-safe by design.
If that is the case, what is the benefit of using a multithreaded HttpClient ?
How can I make sure the Axis client stub is usable in multi-threaded environment ?
Thank you