7

WSDL ファイルがweatherservice.wsdlあり、 を使用してこの WSDL のバインディングを生成しようとしていxjcます。xjc を使用してこれを行うにはどうすればよいですか?

xjc から実行するためのコマンド ライン引数が見つかりませんでした。 xjc -p com -wsdl weatherservice.wsdl

4

3 に答える 3

9

通常.xjb、WSDL またはスキーマ内の競合を解決するために、拡張子付きのバインディング ファイルを作成します。たとえば、2 つの要素が同じ名前を持ち、それらを区別したい場合は、バインディング ファイルを指定して名前を変更できます。

次に例を示します。

<jaxb:bindings 
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
    xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
    jaxb:extensionBindingPrefixes="xjc"
    version="2.1">

    <jaxb:globalBindings generateIsSetMethod="true" fixedAttributeAsConstantProperty="true">
        <xjc:serializable uid="1" />
    </jaxb:globalBindings>

    <jaxb:bindings schemaLocation="abcd.xsd">
        <jaxb:bindings node="//xs:element[@name='Event']/xs:simpleType">
               <jaxb:typesafeEnumClass name="EventEnumType" />
        </jaxb:bindings>
   </jaxb:bindings>

</jaxb:bindings>
于 2015-03-27T13:36:25.680 に答える
1

この単純なバインドを使用してみてください。それを WSDL の隣に保存し、それを使用するように XJC に指示します。

<bindings version="2.0" 
          xmlns="http://java.sun.com/xml/ns/jaxb"
          xmlns:xs="http://www.w3.org/2001/XMLSchema" 
          xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
>

    <globalBindings>
        <xjc:simple/>
    </globalBindings>

</bindings>
于 2017-08-19T14:15:50.027 に答える