Hello all,

 

I’m using Axis2 and Sandesha2 and I’m having a strange problem.

 

I have a client that wants to make 10000 requests but at the middle of all these requests (sometimes it only makes 300 requests, other times it makes 700,1000,…) the server crashes and there’s no more availability from the server side. I must say that the client doesn’t throw any kind of exception.

 

----------------------------------------------------------------------------------------------------------------------------

 

If I browse to http://host:8080/axis2 everything seems ok but if I click the listServices link I get:

 

 HTTP Status 500 -

 

   type Status report

 

   message

 

   description The server encountered an internal error () that prevented

   it from fulfilling this request.

 

  Apache Tomcat/5.5.17

 

 

----------------------------------------------------------------------------------------------------------------------------

 

Looking at apache Logs I have:

 

(…)

INFO: Server startup in 4749 ms

 

(This is where the server hangs)

 

- I/O exception (org.apache.commons.httpclient.NoHttpResponseException) caught when processing request: The server 192.168.200.40 failed to respond

- Retrying request

- I/O exception (java.net.ConnectException) caught when processing request: Connection refused

- Retrying request

- I/O exception (java.net.ConnectException) caught when processing request: Connection refused

- Retrying request

 

(Down here is when I try to access the list Services link)

 

- Servlet.service() for servlet jsp threw exception

java.lang.NullPointerException

        at org.apache.jsp.axis2_002dweb.listServices_jsp._jspService(listServices_jsp.java:133)

(…)

- Error dispatching request /axis2/services/listServices

java.lang.reflect.InvocationTargetException

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

(…)

 

 

----------------------------------------------------------------------------------------------------------------------------

 

 

The client code is:

 

         //Generate Payload

         OMFactory fac = OMAbstractFactory.getOMFactory();

         OMNamespace omNs = fac.createOMNamespace("http://client.org/calculator2", "calculator2");

         payload = fac.createOMElement("add", omNs);

         rand1=(int)(Math.random()*100);

         rand2=(int)(Math.random()*100);

 

         // Send num1 num2 timestamp message id

         payload.setText(rand1+" "+rand2+" "+ System.currentTimeMillis()+" "+i);

 

         if (i==NUM_REQUESTS-1)

           clientOptions.setProperty(SandeshaClientConstants.LAST_MESSAGE,"true");

 

         // Async invocation

         serviceClient.sendReceiveNonBlocking(payload,callback);

 

         //Wait till the callback receives the response.

         while (!callback.isComplete()) {

            Thread.sleep(1);

         }

 

 

 

Any idea to solve the problem?

 

Best regards,

 

Nuno Rodrigues

 

 

Reply via email to