cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tomas Hofman (JIRA)" <>
Subject [jira] [Created] (CXF-6392) Chema imports are still not handled correctly in generated WSDL and XSD files
Date Wed, 06 May 2015 14:43:59 GMT
Tomas Hofman created CXF-6392:

             Summary: Chema imports are still not handled correctly in generated WSDL and
XSD files
                 Key: CXF-6392
             Project: CXF
          Issue Type: Bug
          Components: JAX-WS Runtime
            Reporter: Tomas Hofman

1) XSD files cannot be accessed by URLs that should be enabled by XML catalog rules.
2) Under some circumstances, schema location attributes in <include> elements are not
rewritten to "?xsd=location" form


- We have following rule in jax-ws-catalog.xml:
   <rewriteSystem systemIdStartString="" rewritePrefix="/wsdl/schemata/"/>

- We have WSDL file importing an XSD file, which in turn is including another XSD file, all
located in /wsdl/ directory on classpath:

- WSDL file contains import like this, with *relative path*:
<import namespace="" 

- schema.xsd file contains following include, again with relative path:
<xsd:include schemaLocation="included_schema.xsd"/>

*Problem 1:*

XSD file cannot be accessed by URL http://localhost:PORT/SoapContext/SoapPort?xsd=,
which is supposed to be working due to rewriteSystem rule.

It can only be accessed with relative path URL: "?xsd=schemata/schema.xsd".

This starts working when import in WSDL file is modified to use full URL instead of relative
<import namespace="" 

*Problem 2:*

When schema.xsd is accessed by request using full url like "?xsd=",
instead of relative url, schemaLocation attribute in <import> and <include> elements
in that file are not rewritten into "?xsd=..." form, so those schemaLocations cannot be followed
by client.

I'm attaching also a PR with a test case demonstrating described behaviour, and proposed fix.

This message was sent by Atlassian JIRA

View raw message