java - Maven JAXB 2 Plugin - how to setup to use cross scheme dependencies -


using maven-jaxb2-plugin generate jaxb classes 2 wsdl schemas related each other.

the classes generated this:

com - accounts    |- payments    |- other 

maven-jaxb2-plugin set this:

<plugin>    <groupid>org.jvnet.jaxb2.maven2</groupid>        <artifactid>maven-jaxb2-plugin</artifactid>        <version>0.13.1</version>        <executions>            <execution>                <id>unipayments</id>                <goals>                    <goal>generate</goal>                </goals>                <configuration>                     <schemalanguage>wsdl</schemalanguage>                     <args>                         <arg>-npa</arg>                     </args>                     <schemas>                         <schema>                             <url>http://...accounts?wsdl</url>                         </schema>                     </schemas>                </configuration>             </execution>             <execution>                 <id>accounts</id>                 <goals>                    <goal>generate</goal>                 </goals>                 <configuration>                    <schemalanguage>wsdl</schemalanguage>                    <args>                        <arg>-npa</arg>                    </args>                    <schemas>                        <schema>                           <url>http://...payments?wsdl</url>                        </schema>                     </schemas>                 </configuration>              </execution>     </executions> </plugin> 

the annotations of 1 of generated classes (almost same anywhere):

@xmlaccessortype(xmlaccesstype.field) @xmltype(name = "inputtemplate", namespace = "http://...payments", proporder = {}) public class inputtemplate {...} 

the issue soap accounts jaxb classes have nested element of class specified above came payments scheme. so, marshaller throws exception when query object of accounts service has payment's inputtemplate child:

unexpected element (uri:"http://...payments", local:"inputtemplate").  expected elements <{}inputtemplate> 

don't know why happens though, each class has namespace specified.

so, how let jaxb classes cross scheme dependency work using plugin?

this:

unexpected element (uri:"http://...payments", local:"inputtemplate"). expected elements <{}inputtemplate>

actually points not problem schema dependencies rather problem namespaces. inputtemplate element known expected in default namespace. wrong elementformdefault or this.

to answer question, inter-schema dependencies best handled if compile schemas separately (separate maven modules) , include dependencies episodes.

https://github.com/highsource/maven-jaxb2-plugin/wiki/using-episodes


Comments

Popular posts from this blog

php - How to add and update images or image url in Volusion using Volusion API -

javascript - jQuery UI Splitter/Resizable for unlimited amount of columns -

javascript - IE9 error '$'is not defined -