Hello, I am trying to reference another project that contains xjc generated code from xsd file. When I run the plugin in cxf, it does not seem to be working as I am expecting.
I am trying to use a catalog: <?xml version="1.0"?> <catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="public"> <!-- Tried this one first without success --> <rewriteSystem systemIdStartString="dcterms.xsd" rewritePrefix="classpath:/dcterms.xsd"/> <rewriteSystem systemIdStartString="dc.xsd" rewritePrefix="classpath:/dc.xsd"/> <rewriteSystem systemIdStartString="dcmitype.xsd" rewritePrefix="classpath:/dcmitype.xsd"/> <!-- Added second didn't work either --> <rewriteURI uriStartString="dcterms.xsd" rewritePrefix="classpath:/dcterms.xsd"/> <rewriteURI uriStartString="dc.xsd" rewritePrefix="classpath:/dc.xsd"/> <rewriteURI uriStartString="dcmitype.xsd" rewritePrefix="classpath:/dcmitype.xsd"/> </catalog> to replace the imports in my imported xsd file: <xs:import namespace="http://purl.org/dc/elements/1.1/" schemaLocation="cdc.xsd"/> <xs:import namespace="http://purl.org/dc/terms/" schemaLocation="cdcterm.xsd"/> <xs:import namespace="http://purl.org/dc/dcmitype/" schemaLocation="dcmitype.xsd"/> Here is the hiearchy: My WSDL imports and xml schema file (XSD) that contains the above imports. Here is my plugin code: <plugin> <groupId>org.apache.cxf</groupId> <artifactId>cxf-codegen-plugin</artifactId> <version>2.1-incubator-SNAPSHOT</version> <executions> <execution> <id>generate-sources</id> <phase>generate-sources</phase> <configuration> <sourceRoot> ${basedir}/target/generated-sources/src/main/java </sourceRoot> <wsdlOptions> <wsdlOption> <wsdl> ${basedir}/src/main/resources/contentservice.wsdl </wsdl> <extraargs> <extraarg>-verbose</extraarg> <!-- Use catalog to tell codegen to look on classpath for those xsd files --> <extraarg>-catalog</extraarg> <extraarg>${basedir}/catalog.xml</extraarg> <!-- Do not generate these since already generated in another project --> <extraarg>-nexclude</extraarg> <extraarg>http://purl.org/dc/elements/1.1/</extraarg> <extraarg>-nexclude</extraarg> <extraarg>http://purl.org/dc/dcmitype/</extraarg> <extraarg>-nexclude</extraarg> <extraarg>http://purl.org/dc/terms/</extraarg> </extraargs> </wsdlOption> </wsdlOptions> </configuration> <goals> <goal>wsdl2java</goal> </goals> </execution> </executions> </plugin> Maybe I am going about this all wrong, My first time with xml catalogs. Can this even be done? Can the code generator see the xsds that exist in the dependency jars? All help is appreciated. Daniel
