Hi Tim,
I'm a little confused you seem to be adressing a slightly different issue?
I understand that it's beneficial to create a system without globals (static objects). What are the issues today - is it just the config that's static and causing us not to have this model?
Why have the isServer boolean? What is it you're trying to achieve?
cheers,
John.
Tim Bartley <[EMAIL PROTECTED]> wrote on 09/05/2005 00:43:00:
>
> I would really like to see this implemented in conjunction with
> solving the multiple instances per process problem.
>
> i.e have I guess something like:
>
> class Axis;
>
> Axis* Axis::initialize(AxisCPP_Configuration* config, bool isServer);
>
> and then have the Web service constructors accept an "Axis" object
> rather than just an AxisCPP_Configuration object to their constructors.
>
> The Axis object would encapsulate all of the current global
> variables - it should be opaque.
>
> In order to avoid having to pass an Axis* everywhere, maybe a first
> approximation of this would be to set an Axis* as thread-local-
> storage. Yuck but may be quicker implementation - the top level
> interfaces could be set up to have the final interface including an
> Axis* and this would allow a more gradual propagation of the change.
>
> Regards,
>
> Tim
> --
> IBM Tivoli Access Manager Development
> Gold Coast Development Lab, Australia
> +61-7-5552-4001 phone
> +61-7-5571-0420 fax
>
>
> John Hawkins <[EMAIL PROTECTED]>
> 06/05/2005 23:39
>
> Please respond to
> "Apache AXIS C Developers List"
>
> To
>
> [email protected]
>
> cc
>
> Subject
>
> New client configuration API
>
>
>
>
>
> Hi Folks,
>
> we'd like to implement a new API for configuration of the client-side.
>
> I've written a vrief synopsis of what is there to day and what we'd
> like to do..........
>
>
> The environment variable is AXISCPP_DEPLOY. This variable is used by
> the configuration system to look up a file called axiscpp.conf. This
> file consists of the following:
>
> #ClientLogPath: The path to the axis client log
> #ClientWSDDFilePath: The path to the client wsdd
> #XMLParser: The xml parser library
> #Transport_http: The HTTP transport library
> #Channel_HTTP: The HTTP transport channel library
> #Channel_HTTP_SSL: The HTTP transport secure channel library
>
> This data can be placed in a new configuration Object with the
> following signature (Pseudo)
>
> AxisCPP_Configuration
> {
> get/set ClientLog(String);
> get/set ClientWSDDFile(String);
> get/set XMLParserLibrary(String);
> get/set TransportLibrary(String);
> get/set HTTPChannelLibrary(String);
> get/set HTTPSSLChannelLibrary(String);
> }
>
> A new Web Service constructor will be created that takes in an
> AxisCPP_Configuration object. This constructor will be in addition
> to the current range of constructors that are created for each service.
>
> The user may create a web service using the constructor. However, if
> they attempt to use the constructor with a configuration object more
> than once in any given process the configuration object will be
> ignored i.e. the engine can only be configured once per process.
>
>
> Client WSDD files will still be required and no new API will be
> introduced for them.
>
>
> thoughts please?
>
>
> thanks,
> john.
- Re: New client configuration API John Hawkins
- RE: New client configuration API Samisa Abeysinghe
