javax.xml.bind.UnmarshaleException:Zero-length BigInteger-带有链接异常:[java.lang.NumberFormatException:Zero-length BigInteger]
在axis2环境下验证WSDL中的整型字段时,出现以下错误。xml beans可以正常工作。但xjc beans对象出现错误。XSD验证失败!!!。传递空值时出现此错误 请帮我解决这个问题javax.xml.bind.UnmarshaleException:Zero-length BigInteger-带有链接异常:[java.lang.NumberFormatException:Zero-length BigInteger],xml,xsd,xml-parsing,xsd-validation,xjc,Xml,Xsd,Xml Parsing,Xsd Validation,Xjc,在axis2环境下验证WSDL中的整型字段时,出现以下错误。xml beans可以正常工作。但xjc beans对象出现错误。XSD验证失败!!!。传递空值时出现此错误 请帮我解决这个问题 <xsd:element minOccurs="0" name="TypeName" type="types:PrincipalVariantType"/> <xsd:simpleType name="PrincipalVariantType"> <xsd:restr
<xsd:element minOccurs="0" name="TypeName" type="types:PrincipalVariantType"/>
<xsd:simpleType name="PrincipalVariantType">
<xsd:restriction base="xsd:integer">
<xsd:enumeration value="1" />
<xsd:enumeration value="2" />
<xsd:enumeration value="3" />
<xsd:enumeration value="4" />
</xsd:restriction>
</xsd:simpleType>
Stacktrace原样
在这种情况下,只有1或2或3或4有效
注意:空值不是数字,整数不允许为空
如果需要空字符串,请在xsd:string中更改类型,并在中更改限制
<xsd:simpleType name="PrincipalVariantType">
<xsd:restriction base="xsd:integer">
<xsd:pattern value="[1-4\n]|()"/>
</xsd:restriction>
</xsd:simpleType>
这对我来说也很好
<xsd:restriction base="xsd:string">
<xsd:pattern value="(\s*[1-4\n]\s*)+"/>
</xsd:restriction>
[java.lang.NumberFormatException:Zero length BigInteger]看起来像是输入不正确的情况。当我传递空时,我得到了这个错误。但我的要求是,它有抛出错误,比如只允许值1,2,3,4。是否希望所有[1-4]和空格出现?例如3 3..因为您的regexp允许这样做。
<xsd:restriction base="xsd:string">
<xsd:pattern value="(\s*[1-4\n]\s*)+"/>
</xsd:restriction>