我正在创建一个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"/>
是否有任何注释可以让我这样做或任何其他更好的实现?
答案 0 :(得分:2)
nil属性记录为here。
从java对象序列化的角度来看,它允许对象属性具有NULL值,并且仍然是有效的XML文档。这是在XML模式中表示Java对象的默认方式,因为不强制在Java中填充对象属性。
如果您想要更多地控制WSDL,则需要考虑使用JAXWS之类的东西。这里的问题是这种技术的支持在Axis2中并不十分成熟,在我看来,部署起来比较复杂。
如果您想要对WSDL进行绝对控制(使用它作为接口规范),最好使用它来生成Java代码,而不是希望您的java符合其他人的规范。