maven-jaxb2-plugin
を使用して、相互に関連する2つのWSDLスキーマのJAXBクラスを生成します。Maven JAXB 2プラグイン - クロススキームの依存関係を使用するようにセットアップする方法
クラスは次のように生成される:
com - accounts
|- payments
|- other
達人-JAXB2・プラグインがこのように設定されている:(どこでもほぼ同じ)生成されたクラスの一つの
<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>
注釈:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "inputTemplate", namespace = "http://...payments", propOrder = {})
public class InputTemplate {...}
問題はSOAP accounts
です。JAXBクラスには入れ子のelem他のpayments
スキームから来た、上記で指定されたクラスのクラス。それはしかしなぜ起こるか
unexpected element (uri:"http://...payments", local:"inputTemplate").
Expected elements are <{}inputTemplate>
は知ってはいけない、指定された各クラスがあり、名前空間を:私は支払いの
inputTemplate
子としてを持って
accounts
サービスの対象に照会するときに、マーシャラーはこのように例外をスローします。
このプラグインを使用してクロススキーム依存関係を持つJAXBクラスを動作させるにはどうすればいいですか?