[jbossws-issues] [JBoss JIRA] Created: (JBWS-2886) Error doing multiple calls to web service

Marco Benuzzi (JIRA) jira-events at lists.jboss.org
Fri Jan 15 04:07:35 EST 2010


Error doing multiple calls to web service
-----------------------------------------

                 Key: JBWS-2886
                 URL: https://jira.jboss.org/jira/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
            Priority: Critical


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/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jbossws-issues mailing list