wsdl2java自定义绑定类型到特定的java类

时间:2015-08-24 08:53:53

标签: java wsdl2java

使用wsdl2java,有没有办法将xsd类型绑定到特定的java类? 我的wsdl包含以下内容:

<xsd:complexType name="Dimension">
    <xsd:attribute name="height" type="xsd:decimal" />
    <xsd:attribute name="length" type="xsd:decimal" />
    <xsd:attribute name="width" type="xsd:decimal" />
</xsd:complexType>

我希望绑定&#39; Dimension&#39;中的所有xsd:decimal元素。元素到整数(我有我的理由)。

我能够使用带有以下绑定的自定义绑定文件在全局范围内执行此操作:

<jxb:globalBindings>
    <jxb:javaType name="java.lang.Integer" xmlType="xsd:decimal"/>
</jxb:globalBindings>

但我只想为这些特定元素做这件事。我无法改变wsdl。

1 个答案:

答案 0 :(得分:0)

我使用属性绑定解决了这个问题:

    <jxb:bindings node="//xsd:complexType[@name='Dimension']/xsd:attribute[@name='height']">
        <jxb:property>
          <jxb:baseType>
            <jxb:javaType name="java.lang.Integer"/>
          </jxb:baseType>
        </jxb:property>
    </jxb:bindings>