This is probably more of a JAXB2 question but... Many JAX-RPC
implementations do not generate code to support XSD facets and the WSDL
and embedded schema, in particular, are required at runtime to pick up
the facets for runtime enforcement.

This behavior is nice because facets can be changed and applied to the
application at runtime without requiring code regen, redeployment, and,
especially, retesting. In the enterprise environment, this is a powerful
feature.

Does CXF code gen facet enforcement? Or, is the WSDL/XSD required at
runtime to support facet enforcement?

Bryon Donahue

-----Original Message-----
From: Christopher Moesel [mailto:[EMAIL PROTECTED] 
Sent: Friday, May 04, 2007 8:27 AM
To: cxf-user@incubator.apache.org; [EMAIL PROTECTED]
Subject: RE: Why does a JAX-WS client use the WSDL at run time?

If the client is using the WSDL to check if it matches the code, does it
fail if the WSDL has changed?  What if the WSDL has gone up a minor
revision, but all changes were backward compatible so existing clients
would still work?  Can the client detect that it is still compatible on
the wire even though the WSDL has changed?

-Chris

-----Original Message-----
From: Daniel Kulp [mailto:[EMAIL PROTECTED] 
Sent: Friday, May 04, 2007 9:23 AM
To: cxf-user@incubator.apache.org
Subject: Re: Why does a JAX-WS client use the WSDL at run time?

On Thursday 03 May 2007 21:55, Steven E. Harris wrote:
> Daniel Kulp <[EMAIL PROTECTED]> writes:
> > Technically, with JAX-WS, you don't need the wsdl.  However, the
> > spec does say that if it's available/specified, we're supposed to
> > use it.
>
> Use it to supply default values? It seems like a large run time tax
> that the WSDL2Java tool -- or something like it -- should be fixing
> into code.

There's a couple places it's really used.   One is the actual connection

information.   The URL isn't burned in anywhere.    The other thing that

is done is to make sure the WSDL actually matches the code.   For 
example, does the interface that you are using actually have matching 
operations in the wsdl.  

On the server side, if the original WSDL is available, we return it 
during ?wsdl processing rather than synthesize one.  


.............

> > You would still need to set the endpoint address though.  That
> > doesn't get recorded anywhere.
>
> Oh, as that normally gets read from the WSDL at run time, not from an
> annotation on the Service-derived class, right?

Right.

-- 
J. Daniel Kulp
Principal Engineer
IONA
P: 781-902-8727    C: 508-380-7194
[EMAIL PROTECTED]
http://www.dankulp.com/blog

Reply via email to