Hi David,

Yes both the DII and stub interfaces support complex types.

With stubs the package and class names for the complex type classes will be
automatically determined based on the JAX-RPC naming conventions. For the
DII you need to explicitly map the XML name to a Java class with a
WSIFService mapType call, for example you can see this in the doitDyn
method in the addressbook testcase (
http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-axis-wsif/java/test/addressbook/AddressBookTest.java

):

            service.mapType(
                new javax.xml.namespace.QName(
                    "http://wsiftypes.addressbook/";,
                    "address"),
                Class.forName("addressbook.wsiftypes.Address"));

Using stubs is more like JAX-RPC so would be easier for someone who is
already familiar with this style of programming, however the DII API maps
more naturally to WSDL and so encourages the WSDL centric view of the world
that WSIF tries to encourage. When WSIF was first donated to Apache it
include support for JROM which when combined with the WSIF DII allowed
completely dynamic invocation without the need to generate stubs or complex
type classes. JROM had to be pulled due to licensing issues but I hope to
make available a way to again use JROM with Apache WSIF in the near future.
Another reason could be if performance is going to be an issue then the DII
is a little more efficient than using stubs.

       ...ant

Anthony Elder
[EMAIL PROTECTED]
Web Services Development
IBM UK Laboratories,  Hursley Park
(+44) 01962 818320, x248320, MP208.


[EMAIL PROTECTED] on 13/02/2003 01:05:08

Please respond to [EMAIL PROTECTED]

To:    [EMAIL PROTECTED]
cc:
Subject:    Use DII or stubs with comples types




I'm wading into the WSIF pool now. I have an Apache Soap client I want to
convert to a WSIF client. It has complex types on both input and output.
Do both the DII and stub interfaces support complex types? Why would I use
one over the other?

Thanks,
David



Reply via email to