我正在使用JAX-WS 2.1从xsd文件为Web服务生成工件。
这里是问题工件的XSD定义:
<xs:simpleType name='Example'>
<xs:annotation>
<xs:documentation>Example</xs:documentation>
</xs:annotation>
<xs:restriction base='xs:string'>
<xs:minLength value='0'/>
<xs:maxLength value='1'/>
</xs:restriction>
</xs:simpleType>
Jax WS不生成工件示例。我没有看到名为Example的类。
但是当我向XSD定义添加枚举时,JAX-WS会成功生成它:
<xs:simpleType name='Example'>
<xs:annotation>
<xs:documentation>Example</xs:documentation>
</xs:annotation>
<xs:restriction base='xs:string'>
<xs:minLength value='0'/>
<xs:maxLength value='1'/>
<xs:enumeration value='A'/>
</xs:restriction>
</xs:simpleType>
如果有人知道问题请帮助
答案 0 :(得分:0)
xs:minLength
,xs:maxLength
无法与xs:enumeration
一起使用。 Enumeratio是固定值的集合,xs:minLength
,xs:maxLength
需要在应用程序中输入的值。所以只使用枚举
<xsd:restriction base="xsd:string">
<xsd:enumeration value="A"/>
<xsd:enumeration value="B"/>
<xsd:enumeration value="C"/>
</xsd:restriction>
答案 1 :(得分:0)
要为您的方案获取课程,您需要自定义绑定。 This post on SO显示自定义绑定文件的结构。
您需要记住的一件事是,默认情况下,JAXB将为复杂类型生成类,而不是简单类型。