You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Lee Yang (JIRA)" <ji...@apache.org> on 2014/08/14 23:22:19 UTC

[jira] [Created] (CXF-5951) wadl2java jaxb binding bug

Lee Yang created CXF-5951:
-----------------------------

             Summary: wadl2java jaxb binding bug
                 Key: CXF-5951
                 URL: https://issues.apache.org/jira/browse/CXF-5951
             Project: CXF
          Issue Type: Bug
            Reporter: Lee Yang


If you specify the jaxb binding file using the <bindingFile> tag (see the pom configuration section),  then wadl2java throws the following error:

[INFO] java.lang.RuntimeException: Error compiling schema from WADL : "file:/C:/webdev/cygwin/tmp/xsd/MyTypes.xsd" is not a part of this compilation. Is this a mistake for "file:/C:/webdev/cygwin/tmp/cxf-tmp-699471/jaxbbinding5875176368914084138.xml"?

However, if you specify the same jaxb binding file using the -xjc -b option via the <extraarg> tag, then the binding works. The relevant files (pom, xsd-binding, and wadl) are enclosed below.

1.  The relevant pom configuration section:

<plugin>
	<groupId>org.apache.cxf</groupId>
	<artifactId>cxf-wadl2java-plugin</artifactId>
	<version>${cxf.version}</version>  <!-- 3.0.0 or 3.0.1 -->
	<executions>
		<execution>
			<id>generate-sources</id>
			<phase>generate-sources</phase>
			<configuration>
				<sourceRoot>${project.build.directory}/generated/cxf</sourceRoot>
				<inheritResourceParams>true</inheritResourceParams>
				<wadlOptions>
					<wadlOption>
						<wadl>
							${basedir}/src/main/resources/wadl/MyService-wadl.xml
						</wadl>
						<!-- The following commented-out binding causes errors. The same binding works
							 fine when using the -xjc options via the extraarg tag.
						<bindingFiles>
							<bindingFile>${basedir}/src/main/resources/binding/xsd-binding.xml</bindingFile>
						</bindingFiles>
						-->
						<packagename>com.mycomp.myservice</packagename>
						<extraargs>
							<extraarg>-xjc-b</extraarg>
							<extrarrg>-xjc${basedir}/src/main/resources/binding/xsd-binding.xml</extrarrg>
						</extraargs>			
					</wadlOption>
				</wadlOptions>
			</configuration>
			<goals>
				<goal>wadl2java</goal>
			</goals>
		</execution>
	</executions>
</plugin>


2.  The xsd-binding.xml:

<jxb:bindings version="2.0" xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
	xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<jxb:bindings schemaLocation="../xsd/MyTypes.xsd" node="/xs:schema">
		<jxb:schemaBindings>
			<jxb:package name="com.mycomp.ws.rs.myservice.types" />
		</jxb:schemaBindings>
	</jxb:bindings>
</jxb:bindings>


3.  The MyService-wadl.xml:

<wadl:application xmlns:wadl="http://wadl.dev.java.net/2009/02" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.mycomp.com/rs/MyService/types" xsi:schemaLocation="http://wadl.dev.java.net/2009/02 http://wadl.java.net/wadl20090202.xsd">
	<wadl:grammars>
		<wadl:include href="../xsd/MyTypes.xsd"/>
	</wadl:grammars>
	<wadl:resources base="http://HOST:PORT/WEB_APP_CONTEXT_ROOT/services">
	...
</wadl>




--
This message was sent by Atlassian JIRA
(v6.2#6252)