Hi

I was about to ask a question if a wsdl document should always be located
inside WEB-INF/classes or WEB-INF/libs, and then I found this thread...

I agree it's a pain having to relocate a resource like
WEB-INF/wsdl/hello.wsdl into WEB-INF/classes/wsdl/hello.wsdl just to make it
work, esppecially when one deal with prepackaged wars.

Unfortunately I have little knowledge of Spring at this stage, but the idea
of using some Spring webapp-aware context classes looked promising so that
resources like "/WEB-INF/wsdl/hello.wsdl" could also be resolved. Is it
where CXFServlet can be enhanced a bit ?

By the way, I'm using Tomcat 5.5.25, Windows XP.

Thanks, Sergey


CMoesel wrote:
> 
> I ran into this very same issue when trying to run the war using the
> maven jetty plugin.  It also searched from the working directory instead
> of the root of the application context.  It worked however, when I tried
> it in Tomcat 5.5 and Jboss 4.0 standalone.
> 
> In order to get it working in the maven jetty plugin though, I had to
> put my wsdl in the classpath (WEB-INF/classes/myservice.wsdl) and then
> refer to it in the <jaxws:endpoint> as wsdlLocation="myservice.wsdl"
> (note the lack of "classpath:" prefix).
> 
> If you don't mind putting it in the classpath, that may be the best
> solution for you right now (assuming it works!).
> 
> -Chris
> 
> -----Original Message-----
> From: Steven E. Harris [mailto:[EMAIL PROTECTED] 
> Sent: Wednesday, May 02, 2007 11:32 PM
> To: [email protected]
> Subject: Re: jaxws:endpoint wsdlLocation attribute -- form for class
> path reference?
> 
> "Jiang, Ning \(Willem\)" <[EMAIL PROTECTED]> writes:
> 
>> I just try the latest kit's (build with latest trunk) helloworld
>> sample with the wsdlLocation="WEB-INF/wsdl/hello_world.wsdl".
>> 
>> It is workable. 
> 
> That's good to hear.
> 
>> Can you check your wsdl in the war or try the CXF helloworld sample?
> 
> Actually, I'm deploying via an explode WAR directory, but my WSDL is
> in the proper place in the directory. I just tried deploying via an
> actual WAR file as well. The files are in the directory and in the
> WAR. I tried matching your location specification above:
> "WEB-INF/wsdl/myfile.wsdl". No matter what, the search fails,
> apparently taking the current working directory as the base for the
> search:
> 
> Caused by: javax.wsdl.WSDLException: WSDLException:
> faultCode=PARSER_ERROR: Problem parsing 'WEB-INF/wsdl/myfile.wsdl'.:
> java.io.FileNotFoundException: C:\Program
> Files\Java\add-ons\apache-tomcat-6.0.10\bin\WEB-INF\wsdl\myfile.wsdl
> (The system cannot find the path specified)
>       at com.ibm.wsdl.xml.WSDLReaderImpl.getDocument(Unknown Source)
>       at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
>       at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
>       at
> org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.jav
> a:177)
>       at
> org.apache.cxf.wsdl11.WSDLManagerImpl.getDefinition(WSDLManagerImpl.java
> :141)
>       at
> org.apache.cxf.wsdl11.WSDLServiceFactory.<init>(WSDLServiceFactory.java:
> 81)
>       ... 42 more
> Caused by: java.io.FileNotFoundException: C:\Program
> Files\Java\add-ons\apache-tomcat-6.0.10\bin\WEB-INF\wsdl\myfile.wsdl
> (The system cannot find the path specified)
>       at java.io.FileInputStream.open(Native Method)
>       at java.io.FileInputStream.<init>(FileInputStream.java:106)
>       at java.io.FileInputStream.<init>(FileInputStream.java:66)
>       at
> sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.ja
> va:70)
>       at
> sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnec
> tion.java:161)
>       at
> com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEnt
> ity(XMLEntityManager.java:653)
>       at
> com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocV
> ersion(XMLVersionDetector.java:186)
>       at
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML1
> 1Configuration.java:771)
>       at
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML1
> 1Configuration.java:737)
>       at
> com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.jav
> a:107)
>       at
> com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.jav
> a:225)
>       at
> com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Docume
> ntBuilderImpl.java:283)
>       ... 48 more
> 
> 
> If I start Tomcat from a shell, the same error arises, but the current
> working directory matches that of the shell that called startup.sh.
> 
> I'll give up for now and try again with tomorrow's snapshots.
> 
> -- 
> Steven E. Harris
> 
> 

-- 
View this message in context: 
http://www.nabble.com/jaxws%3Aendpoint-wsdlLocation-attribute----form-for-class-path-reference--tf3684247.html#a12633374
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to