users@jax-rpc.java.net

Re: JAX-WS: Any help with web services versioning and DII?

From: Doug Kohlert <Doug.Kohlert_at_Sun.COM>
Date: Tue, 25 Oct 2005 12:39:24 -0700

Ryan,
The Dispatch interface is much more stable and flexible than the old DII
so you should be able to use it
effectively with most complex data types. If you choose to use JAXB
objects, you of course will need
to use some generated artifacts from the WSDL. If you choose to use the
Source approach, you will
be responsible for creating either the entire soap:envelope or the
soap:body depending on whether you
choose MESSAGE or PAYLOAD access. If you download the latest weekly
drop, you can look at the
dispatch sample to see the different ways to use Dispatch.

Ryan LeCompte wrote:

>Hi Doug,
>
>I just took a look at the Dispatch interfaces in the PFD. Do you all still
>advocate using the static stub approach for web services that have complex
>data types defined in the WSDL? Or can the new Dispatch interface work fine
>(in the past DII didn't work so great with types that were complex)? I was
>wondering if it was entirely possible to work with web services using the
>Dispatch model and not have any generated web service artifacts (like you
>have with the static stub approach)...
>
>Thanks,
>Ryan
>
>-----Original Message-----
>From: Doug Kohlert [mailto:Doug.Kohlert_at_Sun.COM]
>Sent: Monday, October 24, 2005 3:09 PM
>To: users_at_jax-rpc.dev.java.net
>Subject: Re: JAX-WS: Any help with web services versioning and DII?
>
>Ryan,
>JAX-WS does help with versioning slightly in that it uses JAXB for its
>databinding. JAXB by default
>is permissive when parsing XML instances in that if it sees an element
>or an attribute that it was
>not expecting, it will not blow up and I believe it saves the
>information somewhere so that the
>endpoint can get at the data if needed. As for DII, DII has been
>replaced with a much more
>powerful Dispatch interface in JAX-WS. With the Dispatch interface you
>can have access
>to the entire MESSAGE or just the PAYLOAD using a Source object. You
>can also use the
>Dispatch interface with JAXB objects. There is also a server side
>equivalent of the Dispatch
>interface called Provider. You can download the JAX-WS 2.0 PFD,
>JavaDocs and API sources
>at: https://jax-rpc.dev.java.net/jax-ws/spec-download.html. You can
>dowload the week RI bundle
>at:
>https://jax-rpc.dev.java.net/servlets/ProjectDocumentList?folderID=1182&expa
>ndFolder=1182&folderID=0
>
>Ryan LeCompte wrote:
>
>
>
>>Hello all,
>>
>>
>>
>>I know that currently JAX-RPC doesn't really provide any assistance
>>with the concept of versioning web services. One of the issues that
>>we've had to deal with is maintaining multiple versions of web
>>services (ultimately multiple versions of WSDL's). Since the current
>>version of DII in JAX-RPC doesn't work well with custom data types,
>>we've gone with a static stub approach for our web services. When we
>>version our web services, we end up having different versions of the
>>generated static stubs and related files. It is fairly cumbersome to
>>deal with different versions of these generated artifacts. I was
>>wondering if the latest version of JAX-RPC (JAX-WS) has any plans to
>>specifically address the versioning problem with web services? Also,
>>has DII been enhanced in JAX-WS so that it can deal with complex data
>>types? It seems like if we could use the DII approach, we wouldn't
>>have to deal with any versioned generated artifacts, correct? Is there
>>any main benefit of upgrading to JAX-WS when it's available? Any
>>advice is appreciated.
>>
>>
>>
>>Thanks,
>>
>>Ryan
>>
>>
>
>
>
>

-- 
 - Doug