Mantis Bugtracker
  

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0002896 [Hessian] major always 09-03-08 00:12 09-23-08 14:01
Reporter pgrigoro View Status public  
Assigned To
Priority normal Resolution open  
Status new   Product Version 3.2.0
Summary 0002896: Using Hessian Binary Web Service Protocol with the AJP protocol (Apache Tomcat Connector)
Description Hello everyone,

I have a problem regarding Hessian protocol. I am using the Hessian Binary Web Service Protocol (in a Demo Application) with the following configuration:

The Client (SWT Application) sends a (web Service) request to the Server (Tomcat) through an intermediate Server (Apache), which uses the AJP protocol to redirect the requests to the Tomcat Server. The application works fine, but after some time of usage, while the application tries to receive data from the Web Service, throws the following Exception:
com.caucho.hessian.client.HessianConnectionException: 500: java.net.SocketException: Connection reset
            at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:197)
            at $Proxy0.receive(Unknown Source)
            at com.caucho.ria.examples.client.Client.receiveDataFromWebService(Client.java:87)
            at com.caucho.ria.examples.client.ClientMainScreen$1.selectDataFromWS(ClientMainScreen.java:125)
            at com.caucho.ria.examples.client.ClientMainScreen$1.widgetSelected(ClientMainScreen.java:101)
            at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:227)
            at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
            at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
            at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3682)
            at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3293)
            at com.caucho.ria.examples.client.ClientMainScreen.open(ClientMainScreen.java:72)
            at com.caucho.ria.examples.client.ClientMainScreen.main(ClientMainScreen.java:57)
Caused by: java.net.SocketException: Connection reset
            at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
            at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
            at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
            at java.lang.reflect.Constructor.newInstance(Unknown Source)
            at sun.net.www.protocol.http.HttpURLConnection$6.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at sun.net.www.protocol.http.HttpURLConnection.getChainedException(Unknown Source)
            at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
            at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:179)
            ... 11 more
Caused by: java.net.SocketException: Connection reset
            at java.net.SocketInputStream.read(Unknown Source)
            at java.io.BufferedInputStream.fill(Unknown Source)
            at java.io.BufferedInputStream.read1(Unknown Source)
            at java.io.BufferedInputStream.read(Unknown Source)
            at sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source)
            at sun.net.www.http.HttpClient.parseHTTP(Unknown Source)
            at sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source)
            at sun.net.www.http.HttpClient.parseHTTP(Unknown Source)
            at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
            at java.net.HttpURLConnection.getResponseCode(Unknown Source)
            at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:168)
            ... 11 more

There is no problem with the network connection, because we tried again to execute the request from the client (after the exception) and we received the data from the web service. But, the same problem occurred after a while.

Changing the configuration and sending the requests directly (from the client) to the Tomcat Server then the above problem disappears.

Have you any idea why this happens with the AJP protocol?
Additional Information
Attached Files

- Relationships

- Notes
(0003475)
ferg
09-23-08 14:01

This just looks like a socket timeout. You might look at modifying the timeouts on both the server and client side.
 

- Issue History
Date Modified Username Field Change
09-03-08 00:12 pgrigoro New Issue
09-23-08 14:01 ferg Note Added: 0003475


Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
29 total queries executed.
26 unique queries executed.
Powered by Mantis Bugtracker