axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Samisa Abeysinghe <samisa.abeysin...@gmail.com>
Subject Re: Client stub reuse
Date Thu, 24 Feb 2005 07:34:00 GMT
Hi Tim,
    Please see the answeres below:


On Thu, 24 Feb 2005 09:54:00 +1000, Tim Bartley <tbartley@au1.ibm.com> wrote:
> 
> Hi, 
> 
> Are there any limitations on the reuse of client stub objects? 
> 
> For example support I have Foo.wsdl and generate a client stub class Foo. Is
> it safe to do: 
> 
> Foo stub; 
> 
> while (1) { 
>         char* url = <choose url from list of replicated servers>; 
>         if (tried all servers) { 
>                 return error; 
>         } 
> 
>         stub.setEndpoint(url); 
>         try { 
>                 stub.invoke(); 
>                 return success; 
>         } 
>         catch (server unavailable) { 
>                 continue; 
>         } 
>         catch (...) { 
>                 return error; 
>         } 
> } 
> 
> I expect that the stubs are re-entrant but not thread safe i.e. I expect to
> use exactly one, long lived, stub object per-thread (yes, I realize the code
> above doesn't quite achieve that). 
> 

This is possible.
The Stubs are supposed to be re-entrant and the scenario you are
talking about should work.

> Also, are transport connections e.g. in HTTP 1.1. transport, reused between
> method invocations? This particularly important for SSL where connection set
> up overhead can be very high. I assume they are (which is why I want to do
> the above) but thought I'd check. 
> 

Yes, if HTTP/1.1 is being used connection is reused. It checks if the
URL has been changed between calls and if not it keeps the connection.

In case of HTTP/1.0, if keep-alive HTTP header is set, then the
conection is reused. Else it is closed as per the HTTP semantics.

Thanks,
Samisa...

> Thanks, 
> 
> Tim
> --
> IBM Tivoli Access Manager Development
> Gold Coast Development Lab, Australia
> +61-7-5552-4001 phone
> +61-7-5571-0420 fax

Mime
View raw message