[ https://issues.apache.org/jira/browse/SYNAPSE-200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12552828 ]
indika priyantha kumara commented on SYNAPSE-200: ------------------------------------------------- hi Andreas I have applied your initial patch . Thanks lots for contributing .. Issue will be opening until getting the proper solution using a Custom URI Resolver. Thanks Indika > Publishing WSDL files with imported WSDL/XSD not working > -------------------------------------------------------- > > Key: SYNAPSE-200 > URL: https://issues.apache.org/jira/browse/SYNAPSE-200 > Project: Synapse > Issue Type: Bug > Components: Core > Affects Versions: 1.1, NIGHTLY > Reporter: Andreas Veithen > Attachments: wsdl-patch.txt > > > 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. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]