Thanks for the quick reply! I will definitely give it a try!

As soon as i finish i will report back my results.

Thanks again

Rafael

2010/1/5 Bruno Simioni <brunosimi...@gmail.com>

> Rafael, I had exactly the same problem over here. In my case, I used Tomcat
> servlet container to run Axis2 server (JAX-WS Web Services).
>
> In this case, when I tried to shutdown my server, It throw messages
> accusing instances that cannot be deallocated.
>
> I solve that problem with an Amila's blog post,
> http://amilachinthaka.blogspot.com/2009/05/improving-axis2-client-http-transport.html.
>
> Good luck.
>
> Bruno Simioni.
>
>
> On Tue, Jan 5, 2010 at 12:31 PM, Rafael Barrera Oro <boraf...@gmail.com>wrote:
>
>> Hello!
>>
>> I have a sample axis2 client where everything i do is invoking a web
>> service, the problem is that the third time i invoke such webservice it
>> always throws a timeout exception. I guess this has to do with some
>> connection limit or something but after checking axis2.xml i was not able to
>> find out how to solve the issue.
>>
>> I guess there is a way to tell the axis2 server to keep alive the
>> connection or close it after its been used. I am no expert here, but it
>> looks like a connection pooling issue to me.
>>
>> Thanks in advance!
>>
>> Here is the code:
>>
>> public class Axis2Client {
>>
>>     /**
>>      * @param args
>>      */
>>     public static void main(String[] args) {
>>         Object[] datosUsuario;
>>         String user = "user";
>>         String pass = "pass";
>>
>>         try{
>>             //first invocation
>>             datosUsuario = invokeWebService("
>> http://localhost:8180/axis2/services/LoginService";, "login", new Object[]
>> {user, pass},new Class[] { Long.class, String.class, String.class,
>> String.class});
>>
>>             for(int i = 0; i < datosUsuario.length; i++)
>>                 System.out.println(i + " -> " + datosUsuario[i]);
>>
>>             //second invocation
>>             datosUsuario = invokeWebService("
>> http://localhost:8180/axis2/services/LoginService";, "login", new Object[]
>> {user, pass},new Class[] { Long.class, String.class, String.class,
>> String.class});
>>
>>             for(int i = 0; i < datosUsuario.length; i++)
>>                 System.out.println(i + " -> " + datosUsuario[i]);
>>
>>             //third invocation
>>             datosUsuario = invokeWebService("
>> http://localhost:8180/axis2/services/LoginService";, "login", new Object[]
>> {user, pass},new Class[] { Long.class, String.class, String.class,
>> String.class});
>>
>>             for(int i = 0; i < datosUsuario.length; i++)
>>                 System.out.println(i + " -> " + datosUsuario[i]);
>>
>>         }
>>         catch(Exception e){
>>             e.printStackTrace();
>>         }
>>
>>     }
>>
>>     public static Object[] invokeWebService(String endPoint, String op,
>> Object[] opArgs, Class[] returnTypes) throws AxisFault{
>>         RPCServiceClient serviceClient;
>>         Options options;
>>         EndpointReference targetEPR;
>>         QName opQName;
>>         Object[] response = new Object[]{};
>>
>>         //inicializo el cliente
>>         serviceClient = new RPCServiceClient();
>>         options = serviceClient.getOptions();
>>
>>         //establezcp el endpoint
>>         targetEPR = new EndpointReference(endPoint);
>>         options.setTo(targetEPR);
>>
>>         //establezco la operacion
>>         opQName = new QName("
>> http://services.spring.webservices.dietaclub.akyasociados.com.ar";, op);
>>
>>         //invoco el web service utilizando los parametros y los tipos que
>> espero que me sean devueltos
>>         try{
>>             response = serviceClient.invokeBlocking(opQName, opArgs,
>> returnTypes);
>>         }
>>         catch(AxisFault e){
>>             e.printStackTrace();
>>             throw e;
>>         }
>>         catch(Exception e){
>>             e.printStackTrace();
>>         }
>>
>>         return response;
>>     }
>> }
>>
>> Here is the exception:
>>
>> org.apache.axis2.AxisFault: Timeout waiting for connection
>>     at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
>>     at
>> org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:203)
>>     at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:76)
>>     at
>> org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:400)
>>     at
>> org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:225)
>>     at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:435)
>>     at
>> org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:402)
>>     at
>> org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
>>     at
>> org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
>>     at
>> org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:540)
>>     at
>> org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:521)
>>     at
>> org.apache.axis2.rpc.client.RPCServiceClient.invokeBlocking(RPCServiceClient.java:102)
>>     at Axis2Client.invokeWebService(Axis2Client.java:88)
>>     at Axis2Client.main(Axis2Client.java:54)
>> Caused by: org.apache.commons.httpclient.ConnectionPoolTimeoutException:
>> Timeout waiting for connection
>>     at
>> org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.doGetConnection(MultiThreadedHttpConnectionManager.java:497)
>>     at
>> org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.getConnectionWithTimeout(MultiThreadedHttpConnectionManager.java:416)
>>     at
>> org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:153)
>>     at
>> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
>>     at
>> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346)
>>     at
>> org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(AbstractHTTPSender.java:542)
>>     at
>> org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:199)
>>     ... 12 more
>> org.apache.axis2.AxisFault: Timeout waiting for connection
>>     at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
>>     at
>> org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:203)
>>     at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:76)
>>     at
>> org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:400)
>>     at
>> org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:225)
>>     at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:435)
>>     at
>> org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:402)
>>     at
>> org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
>>     at
>> org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
>>     at
>> org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:540)
>>     at
>> org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:521)
>>     at
>> org.apache.axis2.rpc.client.RPCServiceClient.invokeBlocking(RPCServiceClient.java:102)
>>     at Axis2Client.invokeWebService(Axis2Client.java:88)
>>     at Axis2Client.main(Axis2Client.java:54)
>> Caused by: org.apache.commons.httpclient.ConnectionPoolTimeoutException:
>> Timeout waiting for connection
>>     at
>> org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.doGetConnection(MultiThreadedHttpConnectionManager.java:497)
>>     at
>> org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.getConnectionWithTimeout(MultiThreadedHttpConnectionManager.java:416)
>>     at
>> org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:153)
>>     at
>> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
>>     at
>> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346)
>>     at
>> org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(AbstractHTTPSender.java:542)
>>     at
>> org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:199)
>>     ... 12 more
>>
>
>

Reply via email to