RE: Exposing the WSDL file in a deployed web service

From: Ryan LeCompte <>
Date: Tue, 13 Sep 2005 14:07:12 -0400



I was able to get it all working by placing both the WSDL file and the .XSD
file in the context root (/, not /WEB-INF). It seems a little clumsy to have
the WSDL in /WEB-INF and the .XSD in /, so I decided to put them all in a
single place. The model file, however is still in /WEB-INF.






From: Jitendra Kotamraju [mailto:Jitendra.Kotamraju_at_Sun.COM]
Sent: Tuesday, September 13, 2005 2:04 PM
Subject: Re: Exposing the WSDL file in a deployed web service


Where did you package the schema file in WAR ? Did you try keeping it in
the top directory (context root) ?

In JAXWS RI, we expect all the WSDL and schema documents need to be under
WEB-INF/wsdl. However, there is no such directory structure in JAXRPC RI. So
it follows usual servlet rules.

For e.g:
if your wsdl is WEB-INF/A.wsdl, and has a import sub/b.xsd. Package
sub/b.xsd relative to the context root. So war contents would like

But as I said, in JAXWS, the publishing is more streamlined. If you have
questions, let us know.


Ryan LeCompte wrote:

Hello all,


Normally you can access the WSDL file from a deployed web service (after
wsdeploy,etc.) by accessing it via http://localhost/Service?WSDL for
example. This seems to be working for me, however my WSDL document does a
schema import in order to import common data types defined in a .xsd
document. Although this .xsd file is included in the deployable WAR file for
the service, it doesn't seem to be accessible via the
http://localhost/Service?WSDL approach. Is there some extra step that I need
to do in order to make it available? If you point a tool such as wscompile
or .NET's "Wsdl.exe" utility to the http://localhost/Service?WSDL, it's not
able to download the entire WSDL since it can't seem to find the imported
schema file as well.


Any suggestions?