You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Andy Dysart <AD...@prospricing.com> on 2009/11/17 13:17:21 UTC

Any way to configure a write timeout as an Axis2 client?

Hello all,

We are having a problem with some Axis2 client code that is making a web service call to a server we do not control where that server gets locked up in some kind of bad state after having accepted a connection from us, but it does not read all of the request.

The data is relatively large (> 2 megabytes) and our client code ends up getting blocked on a socket write call.  We've successfully determined how to configure a timeout for the initial connection, and a timeout for the read of the response once the request is completely written.  But we have not found a way to configure a timeout on the write of the request itself.

The net result is that when the server fails in this way, our client code gets stuck on a socket write call which never times out.

Does anyone know of a way to resolve this?

Thanks in advance,
-andy

RE: Any way to configure a write timeout as an Axis2 client?

Posted by Andy Dysart <AD...@prospricing.com>.
HTTP 1.1.  BTW, this is Axis2 1.4.1.

-andy

________________________________
From: Martin Gainty [mailto:mgainty@hotmail.com]
Sent: Tuesday, November 17, 2009 8:09 PM
To: axis-user@ws.apache.org
Subject: RE: Any way to configure a write timeout as an Axis2 client?

Andy-

seems to be specific to the transport that the connector is using..which protocol are you using ..HTTP 1.0 or HTTP1.1?

Martin Gainty
______________________________________________
Verzicht und Vertraulichkeitanmerkung/Note de déni et de confidentialité

Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede unbefugte Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese Nachricht dient lediglich dem Austausch von Informationen und entfaltet keine rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit von E-Mails koennen wir keine Haftung fuer den Inhalt uebernehmen.

Ce message est confidentiel et peut être privilégié. Si vous n'êtes pas le destinataire prévu, nous te demandons avec bonté que pour satisfaire informez l'expéditeur. N'importe quelle diffusion non autorisée ou la copie de ceci est interdite. Ce message sert à l'information seulement et n'aura pas n'importe quel effet légalement obligatoire. Étant donné que les email peuvent facilement être sujets à la manipulation, nous ne pouvons accepter aucune responsabilité pour le contenu fourni.




________________________________
From: ADysart@prospricing.com
To: axis-user@ws.apache.org
Date: Tue, 17 Nov 2009 18:17:44 -0600
Subject: RE: Any way to configure a write timeout as an Axis2 client?
Hello Chinmoy - thanks for your quick reply.  I have tried this and unfortunately it does not seem to work.  It does effectively set the read timeout on the underlying socket, but if the server malfunctions and stops reading and the message is large enough to fill the socket flow control buffers, then the write ends up blocking and never times out.

Has anyone else seen this issue or know of a solution?

-andy

________________________________
From: Chinmoy Chakraborty [mailto:cchinu@gmail.com]
Sent: Tuesday, November 17, 2009 8:13 AM
To: axis-user@ws.apache.org
Subject: Re: Any way to configure a write timeout as an Axis2 client?


>From client side you can try this:

         Options options = new Options();
          options.setTimeOutInMilliSeconds(600000);

HTH,
Chinmoy
On Tue, Nov 17, 2009 at 5:47 PM, Andy Dysart <AD...@prospricing.com> wrote:
Hello all,
We are having a problem with some Axis2 client code that is making a web service call to a server we do not control where that server gets locked up in some kind of bad state after having accepted a connection from us, but it does not read all of the request.
The data is relatively large (> 2 megabytes) and our client code ends up getting blocked on a socket write call.  We've successfully determined how to configure a timeout for the initial connection, and a timeout for the read of the response once the request is completely written.  But we have not found a way to configure a timeout on the write of the request itself.
The net result is that when the server fails in this way, our client code gets stuck on a socket write call which never times out.
Does anyone know of a way to resolve this?
Thanks in advance,
-andy


________________________________
Hotmail: Trusted email with powerful SPAM protection. Sign up now.<http://clk.atdmt.com/GBL/go/177141665/direct/01/>

RE: Any way to configure a write timeout as an Axis2 client?

Posted by Martin Gainty <mg...@hotmail.com>.
Andy-

seems to be specific to the transport that the connector is using..which protocol are you using ..HTTP 1.0 or HTTP1.1?

Martin Gainty 
______________________________________________ 
Verzicht und Vertraulichkeitanmerkung/Note de déni et de confidentialité
 
Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede unbefugte Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese Nachricht dient lediglich dem Austausch von Informationen und entfaltet keine rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit von E-Mails koennen wir keine Haftung fuer den Inhalt uebernehmen.
Ce message est confidentiel et peut être privilégié. Si vous n'êtes pas le destinataire prévu, nous te demandons avec bonté que pour satisfaire informez l'expéditeur. N'importe quelle diffusion non autorisée ou la copie de ceci est interdite. Ce message sert à l'information seulement et n'aura pas n'importe quel effet légalement obligatoire. Étant donné que les email peuvent facilement être sujets à la manipulation, nous ne pouvons accepter aucune responsabilité pour le contenu fourni.




From: ADysart@prospricing.com
To: axis-user@ws.apache.org
Date: Tue, 17 Nov 2009 18:17:44 -0600
Subject: RE: Any way to configure a write timeout as an Axis2 client?



















Hello Chinmoy – thanks for your quick
reply.  I have tried this and unfortunately it does not seem to work.  It does
effectively set the read timeout on the underlying socket, but if the server
malfunctions and stops reading and the message is large enough to fill the
socket flow control buffers, then the write ends up blocking and never times
out.

 

Has anyone else seen this issue or know of
a solution?

 

-andy

 









From: Chinmoy
Chakraborty [mailto:cchinu@gmail.com] 

Sent: Tuesday, November 17, 2009
8:13 AM

To: axis-user@ws.apache.org

Subject: Re: Any way to configure
a write timeout as an Axis2 client?



 





>From client side you can try this:





 





         Options options = new
Options();

          options.setTimeOutInMilliSeconds(600000);





 





HTH,





Chinmoy





On Tue, Nov 17, 2009 at 5:47 PM, Andy Dysart <AD...@prospricing.com> wrote:





Hello all,

We are
having a problem with some Axis2 client code that is making a web service call
to a server we do not control where that server gets locked up in some kind of
bad state after having accepted a connection from us, but it does not read all
of the request.

The data is
relatively large (> 2 megabytes) and our client code ends up getting blocked
on a socket write call.  We’ve successfully determined how to configure a
timeout for the initial connection, and a timeout for the read of the response
once the request is completely written.  But we have not found a way to
configure a timeout on the write of the request itself.

The net
result is that when the server fails in this way, our client code gets stuck on
a socket write call which never times out.

Does anyone
know of a way to resolve this?

Thanks in
advance,

-andy







 

 		 	   		  
_________________________________________________________________
Hotmail: Trusted email with powerful SPAM protection.
http://clk.atdmt.com/GBL/go/177141665/direct/01/

RE: Any way to configure a write timeout as an Axis2 client?

Posted by Andy Dysart <AD...@prospricing.com>.
Hello Chinmoy - thanks for your quick reply.  I have tried this and unfortunately it does not seem to work.  It does effectively set the read timeout on the underlying socket, but if the server malfunctions and stops reading and the message is large enough to fill the socket flow control buffers, then the write ends up blocking and never times out.

Has anyone else seen this issue or know of a solution?

-andy

________________________________
From: Chinmoy Chakraborty [mailto:cchinu@gmail.com]
Sent: Tuesday, November 17, 2009 8:13 AM
To: axis-user@ws.apache.org
Subject: Re: Any way to configure a write timeout as an Axis2 client?


>From client side you can try this:

         Options options = new Options();
          options.setTimeOutInMilliSeconds(600000);

HTH,
Chinmoy
On Tue, Nov 17, 2009 at 5:47 PM, Andy Dysart <AD...@prospricing.com>> wrote:
Hello all,
We are having a problem with some Axis2 client code that is making a web service call to a server we do not control where that server gets locked up in some kind of bad state after having accepted a connection from us, but it does not read all of the request.
The data is relatively large (> 2 megabytes) and our client code ends up getting blocked on a socket write call.  We've successfully determined how to configure a timeout for the initial connection, and a timeout for the read of the response once the request is completely written.  But we have not found a way to configure a timeout on the write of the request itself.
The net result is that when the server fails in this way, our client code gets stuck on a socket write call which never times out.
Does anyone know of a way to resolve this?
Thanks in advance,
-andy


Re: Any way to configure a write timeout as an Axis2 client?

Posted by Chinmoy Chakraborty <cc...@gmail.com>.
>From client side you can try this:

         Options options = new Options();
          options.setTimeOutInMilliSeconds(600000);

HTH,
Chinmoy
On Tue, Nov 17, 2009 at 5:47 PM, Andy Dysart <AD...@prospricing.com>wrote:

>  Hello all,
>
>
>
> We are having a problem with some Axis2 client code that is making a web
> service call to a server we do not control where that server gets locked up
> in some kind of bad state after having accepted a connection from us, but it
> does not read all of the request.
>
>
>
> The data is relatively large (> 2 megabytes) and our client code ends up
> getting blocked on a socket write call.  We’ve successfully determined how
> to configure a timeout for the initial connection, and a timeout for the
> read of the response once the request is completely written.  But we have
> not found a way to configure a timeout on the write of the request itself.
>
>
>
> The net result is that when the server fails in this way, our client code
> gets stuck on a socket write call which never times out.
>
>
>
> Does anyone know of a way to resolve this?
>
>
>
> Thanks in advance,
>
> -andy
>