I wonder what, if anything, people are doing to manage client-side
configuration?

I would like to make it as simple as possible for people to write
Java code against services I've deployed.  I had envisioned something
like this:

 * clients require a jar file containing the service interface and
   any beans used by the interface.

 * clients point to a WSDL file somewhere, in a registry or just on a
   website.

maybe there's a some wrapper code on the client side that looks
something like

  interface BasicService extends java.rmi.Remote { ... }

  interface MyService extends BasicService { ... }

  public class Lookup {

   public static BasicService lookup(QName name, Class serviceInterface) {

     // fetch the wsdl from somewhere, and then ...
     org.apache.axis.client.Service svc = new Service(...);
   
     return (BasicService) svc.getPort(name, serviceInterface);

  }
 }

I think something like this would work beautifuly, except for the
fact that the client side Axis never gets a change to configure any
serialziers.

The alternatives I can see:

 1. provide Axis WSDD files along with the client jar files

 2. provide a file in some vendor-neutral language, to be parsed for
    mappings on the client side.

 3. annotate the WSDL with type mappings, and have Axis' parser
    incorporate the mappings

#1 is Axis specific, although I guess it's not too likely my clients
will be using anything else, and I can probably make it a requirement
anyhow.  #3 is nice because it reduces the number of "things" I've
got to manage and deploy.  Also, it seems like WSDL's "extension
elements" are a good fit here.

How are people typically handling this?  

How does .NET (or any other WS toolkit) handle this?  

TIA,

-- 

joe

Reply via email to