You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Håkan Dahl (JIRA)" <ji...@apache.org> on 2010/02/05 10:20:27 UTC

[jira] Commented: (CXF-2571) wsdl2java and jax-ws-catalog: failing to resolve schemas included with xsd:include in jar-file

    [ https://issues.apache.org/jira/browse/CXF-2571?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12830023#action_12830023 ] 

Håkan Dahl commented on CXF-2571:
---------------------------------

Verified:

2.1.9 is fixed.

> wsdl2java and jax-ws-catalog: failing to resolve schemas included with xsd:include in jar-file
> ----------------------------------------------------------------------------------------------
>
>                 Key: CXF-2571
>                 URL: https://issues.apache.org/jira/browse/CXF-2571
>             Project: CXF
>          Issue Type: Bug
>    Affects Versions: 2.1.8, 2.2.5
>         Environment: Apache Maven 2.2.1
> Java version: 1.5.0_21
> OS name: "windows xp"
>            Reporter: Håkan Dahl
>            Assignee: Daniel Kulp
>             Fix For: 2.1.9, 2.2.6
>
>         Attachments: jax-ws-catalog-test-20091203.zip
>
>
> cxf-codegen-plugin/wsdl2java (2.1.8, 2.2.5)
> Refer user-list thread:
> http://old.nabble.com/jax-ws-catalog-and-resolving-schemas-in-jars-that-do-xsd%3Ainclude-td26590812.html
> Schema resolution from a jar-file (using jax-ws-catalog as per 4.4 Catalog Facility in the JAX-WS 2.1 spec) fails when:
> * The referenced schema in a jar makes xsd:include on another schema in the
> jar (all schemas in a jar share the same namespace).
> Stacktrace below for CXF 2.1.8 below. CXF 2.2.5 also fails but with a NullPointerException.
> Note: xsd:import works but requires imported schema to be in another
> namespace.
> Projects look like:
> common-types-domain1
>    META-INF/jax-ws-catalog.xml
>    schemas/domain1/domain1-schema1.xsd
>    schemas/domain1/domain1-schema2.xsd
> wsdl-project-1
>    src\main\resources\schemas\GetX.xsd
>    src\main\resources\schemas\GetXService.wsdl
> where the GetXService.wsdl imports GetX.xsd which imports
> domain1-schema2.xsd like this:
> GetX.xsd:
>    <xsd:import namespace="http://www.example.org/schemas/domain1"
>        schemaLocation="
> http://www.example.org/schemas/domain1/domain1-schema2.xsd"/>
> domain1-schema2.xsd:
>    <xsd:include schemaLocation="domain1-schema1.xsd"/>
> common-types-domain1/META-INF/jax-ws-catalog.xml:
>    <catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"
> prefer="system">
>      <system systemId="
> http://www.example.org/schemas/domain1/domain1-schema1.xsd"
>          uri="classpath:schemas/domain1/domain1-schema1.xsd"/>
>      <system systemId="
> http://www.example.org/schemas/domain1/domain1-schema2.xsd"
>          uri="classpath:schemas/domain1/domain1-schema2.xsd"/>
>    </catalog>
> results in:
> Caused by: org.apache.cxf.tools.common.ToolException: Thrown by JAXB :
> http://www.example.org/schemas/domain1/domain1-schema1.xsd
>    at
> org.apache.cxf.tools.wsdlto.databinding.jaxb.JAXBBindErrorListener.error(JAXBBindErrorListener.java:34)
>    at
> com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.error(SchemaCompilerImpl.java:285)
>    at com.sun.tools.xjc.ErrorReceiver.error(ErrorReceiver.java:90)
>    at
> com.sun.tools.xjc.reader.internalizer.DOMForest.parse(DOMForest.java:402)
>    at
> com.sun.tools.xjc.reader.internalizer.DOMForest.parse(DOMForest.java:301)
>    at
> com.sun.tools.xjc.reader.internalizer.AbstractReferenceFinderImpl.startElement(AbstractReferenceFinderImpl.java:95)
>    at
> org.xml.sax.helpers.XMLFilterImpl.startElement(XMLFilterImpl.java:527)
>    at com.sun.xml.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:240)
>    at com.sun.xml.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:277)
>    at com.sun.xml.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:246)
>    at com.sun.xml.bind.unmarshaller.DOMScanner.scan(DOMScanner.java:123)
>    at
> com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.parseSchema(SchemaCompilerImpl.java:135)
>    at
> org.apache.cxf.tools.wsdlto.databinding.jaxb.JAXBDataBinding.addSchemas(JAXBDataBinding.java:253)
>    at
> org.apache.cxf.tools.wsdlto.databinding.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:196)
>    at
> org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.generateTypes(WSDLToJavaContainer.java:588)
>    at
> org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.processWsdl(WSDLToJavaContainer.java:239)
>    at
> org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:130)
>    at
> org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:283)
>    at
> org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:83)
>    at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:103)
>    at
> org.apache.cxf.maven_plugin.WSDL2JavaMojo.processWsdl(WSDL2JavaMojo.java:337)
>    ... 20 more
> Caused by: java.io.FileNotFoundException:
> http://www.example.org/schemas/domain1/domain1-schema1.xsd
>    ... 39 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.