On May 14, 2008, at 11:53 AM, Glen Mazza wrote:
2008-05-14 Daniel Kulp wrote:
Well, no. For example, how would we know the filename of the wsdl
to even grab from that directory?
Sorry to grill you here--I'm just trying to get this as correct as it
can get. Just to clarify, then, while it may not pick up files from
the
WEB-INF/wsdl folder by default as I was thinking, that folder should
still be the default location to look for WSDLs that are specified
using
wsdlLocation (i.e., if no directory structure is provided), correct?
From the JSR-109 Spec[1], Version 1.2 (April 28, 2006):
Just FYI: with CXF being a standalone JAX-WS provider, JSR-109 stuff
is not required to be supported. For example, we don't support
injecting any @WebServiceRef things in at all at this point either.
That's a J2EE thing. I don't think any of us really have delved
into JSR109 as it pertains to CXF only. I know the Geronimo folks
obviously have, but it's part of the web service deployer stuff, not
something ingrained into CXF.
Thus, in short, I DOUBT the current stuff in CXF will look in WEB-INF/
wsdl if you just specify a wsdlLocation of "foo.wsdl". The JAX-WS
spec for standalone doesn't require it. I could be wrong though.
With all the work Jarek and Jeff did for Geronimo, some of it might
have been pushed into CXF.
Dan
There are a couple things in JSR-109 that don't match
Section 5.4: WSDL files are located relative to the root of the module
and are typically located in the wsdl directory that is co-located
with
the module deployment descriptor or a subdirectory of it.
Section 5.4.1: The wsdl directory is a well-known location that
contains
WSDL files and any relative content the WSDL files may reference. WSDL
files and their relative references will be published during
deployment.
See sections 8.2.4 and 8.2.5 for more details.
Section 8.2.4: "A Web Services for Java EE provider is
required to provide a URL that maintains the referential integrity of
the WSDL document the service-ref (or a javax.xml.ws.WebServiceRef
annotated Web service reference) is bound to if the wsdl-file
(wsdlLocation in WebServiceRef) element refers to a document located
in
the wsdl directory or one of its subdirectories."
Section 8.2.5: "A Web Services for Java EE provider is required to
support publishing a deployed WSDL document if the
wsdlLocation element in the Web service annotations (described in
section 5.3.2.1 and 5.3.2.2) or Web services deployment descriptor
(webservices.xml) wsdl-file element refers to a WSDL file contained in
the wsdl directory or subdirectory, as described in section 5.4.1. A
vendor may support publication of WSDL files packaged in other
locations, but these are considered non-portable."
What I'm trying to say is that, in terms of WSDL resolution, there is
indeed a difference between the WEB-INF/wsdl folder and the
WEB-INF/banana folder, and CXF captures that difference? I may need
to
research this more.
Thanks,
Glen
[1] http://jcp.org/aboutJava/communityprocess/mrel/jsr109/index.html
---
Daniel Kulp
[EMAIL PROTECTED]
http://www.dankulp.com/blog