[EMAIL PROTECTED] writes:

>       However, there is one caveat for both DynamicInvoker and WSIF:
> they work, as they are, only with simple java types. If you want to
> use complex types, you have to have a corresponding Java class created
> on the client side - which makes dynamic invocation much less
> dynamic' : if the complex types in the wsdl change, you have to change
> and recompile the corresponding java class.

as an aside, why is this a bad thing?

I've also been giving this (or something like it) some thought.  what
I want is to treat WS like RMI:  clients are required to already have
access to classes for the various interfaces and beans.  it's just
the mechanics of the calls that are hidden from them.

after all, isn't it more useful to have something like:

  ServiceInterface if = obtainStub();
  MyBean bean = if.getBean("foo", "bar");

than something like:

  Call call = ...;
  call.addParameter(...);
  call.addParameter(...);
  ...

after all, if the WSDL did change, and you wanted your client to take
advantage of the change, you'd have to recompile the client anyhow.

also, it's not true that you'd have to recompile the java classes if
you made any changes to the types.  I think it'd depend largely on
the scope and details of the changes.

as I understand things, as a relative newcomer to web services in
general and axis in particular, is that I can *almost* do what I want
to do.  I can do a 

  ServiceInterface if = Service.getPort(name, ServiceInterface.class);

and get a stubless proxy back.  the only problem (I think, anyhow) is
to get axis to register the correct [de]serializers for the beans.
after I think this through a bit more I intend to post a message
about exactly this problem.

-- 

joe

Reply via email to