java在生成WSDL时删除Nillable=“true”
我正在创建一个web服务,并使用Axis2生成一个契约(WSDL),就像POJO web服务一样,它反过来会给我这样的输出
<xs:element minOccurs="0" name="acHolderName" nillable="true" type="xs:string"/>
而必需的是<xs:element minOccurs="0" name="acHolderName" type="xs:string"/>
是否有任何注释可以让我这样做或任何其他更好的实现
# 1 楼答案
nil属性记录在here中
从java对象序列化的角度来看,它允许对象属性具有空值,并且仍然是有效的XML文档。这是在XML模式中表示Java对象的默认方式,因为对象属性不必强制在Java中填充
如果你想对WSDL有更多的控制,你需要考虑使用像JAXW之类的东西。这里的问题是,这种技术的支持在Axis2中还不是很成熟,在我看来,部署起来更复杂
如果您希望对WSDL拥有绝对控制权(将其用作接口规范),那么最好使用它来生成Java代码,而不是希望您的Java符合其他人的规范