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

Alessio Soldano (JIRA) jira-events at lists.jboss.org
Thu Feb 25 06:09:10 EST 2010


     [ https://jira.jboss.org/jira/browse/JBWS-2886?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alessio Soldano updated JBWS-2886:
----------------------------------

    Fix Version/s: jbossws-native-3.3


> 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
>             Fix For: jbossws-native-3.3
>
>
> 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