プレーンな JAXB バインディング ファイルで拡張機能を有効にする方法を知っています。ルート要素のextensionBindingPrefixes
:
<jaxb:bindings
version="1.0"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
jaxb:extensionBindingPrefixes="xjc"
...>
ただし、JAX-WS バインディング ファイルには、この属性を配置する場所がありません。
<jaxws:bindings
version="2.0"
xmlns:jaxws="http://java.sun.com/xml/ns/jaxws"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
wsdlLocation="../wsdl/schema.wsdl"
...>
ルートにも、ネストされたjaxb:bindings
要素にも入れることはできません。
バインド拡張機能を有効にするにはどうすればよいですか?
jaxws-maven-plugin:2.4.1 で使用されるコマンドライン引数の例:
-keep
-s 'target/generated-sources/wsimport'
-d 'target/classes'
-encoding UTF-8
-extension
-Xnocompile
-B-XJsr303Annotations
-B-Xvalue-constructor
-B-Xinheritance
-b 'src/jaxws/bindings.xml'
'src/wsdl/schema.wsdl'