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