On May 14, 2008, at 10:57 AM, Glen Mazza wrote:

2008-05-14 Daniel Kulp wrote:
In order for this to work, though, I think myImpl (the SIB) may
need
to
have more annotation values than if the SIB were wrapped within the
WAR,
correct? From what I can tell, the SIB's configuration is the sum of
its @WebService annotation values[1] plus its jaxws:endpoint
configuration in the cxf-servlet.xml[2], therefore to do
Endpoint.publish(), anything otherwise in [2] would need to move to
[1].

[1] http://www.jroller.com/gmazza/date/20080417#WFstep6
[2] http://www.jroller.com/gmazza/date/20080417#WFstep8

For the CXF stuff in [2], you only have the address and implementor
defined.   Everything else is taken from the annotations.   What's
interesting is that with that configuration, you are letting CXF
generate a new wsdl as there isn't a wsdlLocation specified anywhere
for CXF.    Not a big deal, but I'm not sure if that's what you
intended since your metro configuration is specifying a wsdl.


Are you sure?  I placed the WSDL file in the WEB-INF/wsdl
folder--doesn't JSR-109 or the JAX-WS spec someplace indicate that if
you place the WSDL file there, the JAX-WS implementation (here,
CXFServlet) will look in that place by default? (isn't there something
magical about that location, i.e., the wsdlLocation by default *is*
WEB-INF/wsdl, no?)

Well, no. For example, how would we know the filename of the wsdl to even grab from that directory?

The tell-tale sign would be to startup tomcat and look in the catalina.out (assuming default logging levels) and see if it says if it's building from class or wsdl.

Also, in terms of having "CXF generate a new WSDL", that always happens
anyway, correct, if only for the soap:address URL to be updated
appropriately with the web service's location?

Well, kind of. There is a difference between building a whole new wsdl or updating an existing wsdl. When building from class, we need to create all new schemas, new portTypes, etc.... When updating, we need to parse the exising wsdl, update all the locations, and then write it out. Ideally, this allows the imports to remain as imports, the ordering to remain, comments, whitespace, etc...

Dan





Thanks,
Glen



---
Daniel Kulp
[EMAIL PROTECTED]
http://www.dankulp.com/blog




Reply via email to