[
https://jira.jboss.org/browse/JBWS-2886?page=com.atlassian.jira.plugin.sy...
]
Jim Ma commented on JBWS-2886:
------------------------------
I've configured both client and jboss server with https/http, chunk/without chunk ,
set customized HandlerResolver to client, I did not reproduce this error in the latest
code base. I tested to send the request one by one to call the 4 webservice operations
for 10 times. It works without error. It seems this issue have been fixed after we moved
to Netty.
Error doing multiple calls to web service
-----------------------------------------
Key: JBWS-2886
URL:
https://jira.jboss.org/browse/JBWS-2886
Project: JBoss Web Services
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: jbossws-native
Affects Versions: jbossws-native-3.1.2
Environment: Linux Fedora 11 kernel 2.6.30.10-105
JBoss Application Platform 5.0.0.GA
Reporter: Marco Benuzzi
Assignee: Jim Ma
Fix For: jbossws-native-3.4.0
I'm testing JBossWS to access a remote web service.
Just for test I'm using a java console application; I run it with sun jdk 6.0.17 with
classpath jboss-eap-5.0/jboss-as/client/*.jar (linux)
I've created stubs client classes with wsconsume.
If a make a single call all works fine.
MyWebServices service = new MyWebServices();
MYSOAPHandlerResolver handlerResolver = new MYSOAPHandlerResolver();
service.setHandlerResolver(handlerResolver);
MyWebServicesPT port = service.getMYWebServicesPort();
port.call1();
// OK
If a make more than one call, only the first ones works fine.
MyWebServices service = new MyWebServices();
MYSOAPHandlerResolver handlerResolver = new MYSOAPHandlerResolver();
service.setHandlerResolver(handlerResolver);
MyWebServicesPT port = service.getMYWebServicesPort();
port.call1();
// OK
port.call2();
// after 80 seconds I got an exception (please note that I don't see any network
activity with wireshark)
javax.xml.ws.WebServiceException: java.io.IOException: Could not transmit message
at
org.jboss.ws.core.jaxws.client.ClientImpl.handleRemoteException(ClientImpl.java:310)
at org.jboss.ws.core.jaxws.client.ClientImpl.invoke(ClientImpl.java:243)
at org.jboss.ws.core.jaxws.client.ClientProxy.invoke(ClientProxy.java:162)
at org.jboss.ws.core.jaxws.client.ClientProxy.invoke(ClientProxy.java:148)
at $Proxy15.commandCryptic(Unknown Source)
at it.celeweb.otagw.adapter.amadeus.test.AmadeusClient.main(AmadeusClient.java:77)
Caused by: java.io.IOException: Could not transmit message
at
org.jboss.ws.core.client.HTTPRemotingConnection.invoke(HTTPRemotingConnection.java:253)
at
org.jboss.ws.core.client.SOAPProtocolConnectionHTTP.invoke(SOAPProtocolConnectionHTTP.java:71)
at org.jboss.ws.core.CommonClient.invoke(CommonClient.java:339)
at org.jboss.ws.core.jaxws.client.ClientImpl.invoke(ClientImpl.java:231)
... 4 more
Caused by: org.jboss.remoting.CannotConnectException: Can not connect http client invoker
after 1 attempt(s)
at
org.jboss.remoting.transport.http.HTTPClientInvoker.makeInvocation(HTTPClientInvoker.java:250)
at
org.jboss.remoting.transport.http.HTTPClientInvoker.transport(HTTPClientInvoker.java:162)
at
org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:167)
at org.jboss.remoting.Client.invoke(Client.java:1917)
at org.jboss.remoting.Client.invoke(Client.java:768)
at
org.jboss.ws.core.client.HTTPRemotingConnection.invoke(HTTPRemotingConnection.java:232)
... 7 more
Caused by: java.net.SocketException: Unexpected end of file from server
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:769)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:766)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
at
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1072)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:373)
at
sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:318)
at
org.jboss.remoting.transport.http.HTTPClientInvoker.getResponseCode(HTTPClientInvoker.java:1269)
at
org.jboss.remoting.transport.http.HTTPClientInvoker.useHttpURLConnection(HTTPClientInvoker.java:351)
at
org.jboss.remoting.transport.http.HTTPClientInvoker.makeInvocation(HTTPClientInvoker.java:232)
... 12 more
During the debugging of the problem, I found a strange workaround: putting a sleeb after
each call.
MyWebServices service = new MyWebServices();
MYSOAPHandlerResolver handlerResolver = new MYSOAPHandlerResolver();
service.setHandlerResolver(handlerResolver);
MyWebServicesPT port = service.getMYWebServicesPort();
port.call1();
// OK
Thread.Sleep(5000);
port.call2();
// OK
Thread.Sleep(5000);
port.call3();
// OK
Thread.Sleep(5000);
port.call4();
I've tested the same web services using Axis2 as framework and all is working as
expected without the need to use the sleep; so I'm sure the problem is on the JAXWS
implemented in JBoss
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira