synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "indika priyantha kumara (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (SYNAPSE-200) Publishing WSDL files with imported WSDL/XSD not working
Date Wed, 19 Dec 2007 07:17:43 GMT

     [ https://issues.apache.org/jira/browse/SYNAPSE-200?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

indika priyantha kumara resolved SYNAPSE-200.
---------------------------------------------

       Resolution: Fixed
    Fix Version/s: NIGHTLY

Fixed  using the  patch from Andreas Veithen.. Thanks Andreas 


> 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
>             Fix For: NIGHTLY
>
>         Attachments: resource-map-patch.txt, 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: synapse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-dev-help@ws.apache.org


Mime
View raw message