You may need to actually prefix it:

<jxb:bindings version="2.1" xmlns:xsd="http://www.w3.org/2001/XMLSchema";
           xmlns:jxb="http://java.sun.com/xml/ns/jaxb"; 
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc";
           jxb:extensionBindingPrefixes="xjc" 
         schemaLocation="schema.xsd" node="/xsd:schema">

With XPath expressions, I'm not sure how it would decern if /shema is referring 
to the empty prefix or an element with no namespace.    

Dan


On Oct 11, 2012, at 3:59 PM, Mickael Marrache <[email protected]> 
wrote:

> Hi,
> 
> This is my XML schema (simplified) - schema.xsd:
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <schema xmlns:srvcb="com:mycompany:myservice:base" 
> xmlns="http://www.w3.org/2001/XMLSchema";
>            targetNamespace="com:mycompany:myservice:base"
>            elementFormDefault="qualified" xml:lang="EN">
> <complexType name="MyType" abstract="true">
>                        <sequence>
>                                   <element name="a" type="string" />
>                        </sequence>
>            </complexType>
> </schema>
> 
> The plugin declaration in the POM:
> 
> <plugin>
> <groupId>org.apache.cxf</groupId>
>            <artifactId>cxf-wadl2java-plugin</artifactId>
>            <version>${cxf.version}</version>
>            <executions>
>                        <execution>
>                                    <id>generate-sources</id>
>                                    <phase>generate-sources</phase>
>                                    <configuration>
>                                                
> <sourceRoot>${basedir}/target/generated-sources/cxf</sourceRoot>
>                                                <wadlOptions>
>                                                           <wadlOption>
>                                                                       
> <wadl>${basedir}/wadl/mywadl.xml</wadl>
>                                                                       
> <extraargs>
>                                                                               
>     <extraarg>-b</extraarg>
>                                                                               
>    <extraarg>${basedir}/wadl/bindings.xml</extraarg>
>                                                                       
> </extraargs>
>                                                                       
> <packagename>com.mycompany.myservice</packagename>
>                                                           </wadlOption>
>                                               </wadlOptions>
>                                   </configuration>
>                                   <goals>
>                                               <goal>wadl2java</goal>
>                                   </goals>
>                        </execution>
>            </executions>
> </plugin>
> 
> My bindings file:
> 
> <jxb:bindings version="2.1" xmlns="http://www.w3.org/2001/XMLSchema";
>            xmlns:jxb="http://java.sun.com/xml/ns/jaxb"; 
> xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc";
>            jxb:extensionBindingPrefixes="xjc" schemaLocation="schema.xsd" 
> node="/schema">
>            <jxb:globalBindings>
>                        <xjc:simple />
>            </jxb:globalBindings>
>            <jxb:bindings
>                        
> node="//complexType[@name='MyType']/sequence/element[@name='a']">
>                        <jxb:property name="b" />
>            </jxb:bindings>
> </jxb:bindings>
> 
> In my WADL, I import the schema as follows:
> 
> <?xml version="1.0"?>
> <application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>            xsi:schemaLocation="http://wadl.dev.java.net/2009/02 
> http://www.w3.org/Submission/wadl/wadl.xsd";
>            xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
> xmlns="http://wadl.dev.java.net/2009/02";
>            xmlns:srvcb=" com:mycompany:myservice:base">
> 
>            <grammars>
>                        <!-- <include href="schema.xsd" /> -->
>                        <schema xmlns="http://www.w3.org/2001/XMLSchema"; 
> xmlns:srvcr="com:mycompany:myservice:rest"
>                                   
> targetNamespace="com:mycompany:myservice:rest">
>                                   <import 
> namespace="com:mycompany:myservice:base"
>                                               schemaLocation="schema.xsd" />
>                        </schema>
>            </grammars>
> 
>            .......
> </application>
> 
> When I compile my project, I get the following exception:
> 
> Caused by: java.lang.RuntimeException: Error compiling schema from WADL : 
> XPath evaluation of "/schema" results in empty target node
>        at 
> org.apache.cxf.tools.wadlto.jaxrs.SourceGenerator$InnerErrorListener.error(SourceGenerator.java:1534)
>            ... 52 more
> Caused by: com.sun.istack.SAXParseException2: XPath evaluation of "/schema" 
> results in empty target node
>        at 
> com.sun.tools.xjc.reader.internalizer.Internalizer.reportError(Internalizer.java:598)
>            ... 44 more
> 
> 
> Thanks in advance,
> Mickael

-- 
Daniel Kulp
[email protected] - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com

Reply via email to