[
https://issues.apache.org/jira/browse/WODEN-192?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
John Kaputin updated WODEN-192:
-------------------------------
Attachment: SchemaResolverAdapter.patch
Attaching SchemaResolverAdapter.patch which implements the solution described
previously and supporting test cases.
> schemaLocation URI not resolved correctly using jar files
> ---------------------------------------------------------
>
> Key: WODEN-192
> URL: https://issues.apache.org/jira/browse/WODEN-192
> Project: Woden
> Issue Type: Bug
> Components: Parser
> Reporter: John Kaputin
> Assignee: John Kaputin
> Fix For: M8
>
> Attachments: SchemaResolverAdapter.patch
>
>
> As per the woden-dev thread at [1], when the WSDL and XSD files are packaged
> inside a jar file, a relative path URI on the schemaLocation attribute of a
> schema import is not resolved correctly against the base jar URI of the
> containing WSDL file.
> For example, if the WSDL base URI is
> "jar:file:///C:/temp/test.jar!/META-INF/foo.wsdl" and this WSDL has an
> inlined schema containing a schema import with schemaLocation="bar.xsd" and
> this XSD file is also packaged in the META-INF directory of the jar file, the
> resolved XSD URI should be "jar:file:///C:/temp/test.jar!/META-INF/bar.xsd".
> Currently, this will only work if a catalog is configured which maps the
> schemaLocation URI to the jar file URI (see the email thread for more info).
> Then, Woden's SimpleURIResolver will resolve the XSD path correctly. But this
> is not convenient for applications that don't have direct access to Woden
> (e.g. Axis2 user apps).
> The problem is that Woden's SchemaResolverAdapter class, which gets
> registered with WS-Commons XmlSchema, uses the resolve(URI) method of
> java.net.URI to resolve the the baseURI and schemaLocation URI - as in,
> baseURI.resolve(schemaLocation). However, this method does not work if
> baseURI is opaque - instead, it just returns the schemaLocation which in turn
> gets resolved against the current directory. A jar file URI ("jar:file:/...")
> is an opaque URI (see URI javadoc).
> [1] http://mail-archives.apache.org/mod_mbox/ws-woden-dev/200712.mbox/[EMAIL
> PROTECTED]
--
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]