Andreas Thanks for reporting the bug. Please can you raise a JIRA and attach your patch - clicking on the box granting the ASF a license to use your patch.
We will try to get this into the next release. Paul On Dec 18, 2007 11:35 AM, Andreas Veithen <[EMAIL PROTECTED]> wrote: > Hi all! > > I'm writing a Web service proxy and I have a some trouble to publish > WSDL files that import other WSDL or XSD files. In my case I have a > WSDL file bis.wsdl (placed in the conf directory in the repository > directory) importing an XSD located in the same directory. The WSDL > file uses a relative URL for the schemaLocation attribute: > > <xsd:import namespace="..." schemaLocation="bis.xsd"/> > > When I try to use publishWSDL with > uri="file:repository/conf/bis.wsdl", I get the following error: > > java.io.FileNotFoundException: This file was not found: > file:/Users/veithen/workspace/pim-ebxml/synapse/bis.xsd > > Obviously Synapse (or Axis in this case) doesn't resolve bis.xsd > relative to the location of the WSDL, but relative to the working > directory. I get the same result when using > > uri="file:///Users/veithen/workspace/pim-ebxml/synapse/repository/conf/bis.wsdl" > or key="conf/bis.wsdl". When I try with uri="repository/conf/bis.wsdl" > I get the following error: > > java.lang.IllegalArgumentException: URI is not absolute > > There seems to be no way to make this work. > > One part of the problem is that the code in ProxyService only calls > WSDLToAxisServiceBuilder#setBaseUri for WSDL 2.0 documents (in my case > it's a WSDL 1.1 document). This is obviously a bug. After correcting > this (see attached patch), I can use > > uri="file:///Users/veithen/workspace/pim-ebxml/synapse/repository/conf/bis.wsdl" > to get the expected result. However, using absolute filenames in > synapse.xml is not appropriate. When using > uri="file:repository/conf/bis.wsdl" I now get the following error: > > org.apache.ws.commons.schema.XmlSchemaException: > /Users/veithen/workspace/pim-ebxml/synapse/bis.xsd (No such file or > directory) > > This is not so surprising since "file:repository/conf/bis.wsdl" is > actually an invalid URL (even if Synapse seems to accept it in some > contexts): only "repository/conf/bis.wsdl" and > > "file:///Users/veithen/workspace/pim-ebxml/synapse/repository/conf/bis.wsdl" > are strictly valid, one as relative URL, the other as absolute URL. > > For the two other alternatives (uri="repository/conf/bis.wsdl" and > key="conf/bis.wsdl") I get, not surprisingly, the same error as > before. > > Does anybody have a solution for this problem? > > Regards, > > Andreas > > PS: I'm using the latest code from the Subversion repository. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > -- Paul Fremantle Co-Founder and VP of Technical Sales, WSO2 OASIS WS-RX TC Co-chair blog: http://pzf.fremantle.org [EMAIL PROTECTED] "Oxygenating the Web Service Platform", www.wso2.com
