cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Glen Mazza <>
Subject (Moved from users) Re: Writing Maven/JUnit test cases for web service calls
Date Wed, 14 May 2008 15:53:00 GMT
2008-05-14 Daniel Kulp wrote:
> 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]
> >>> [2]
> >>
> >> 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?

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):

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
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 and 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.



View raw message