CXF的WSDL2java解析Axis2的wsdl,不包含JAXBElement

用cxf的wsdl2java工具生成客户端代码,但是发现生成的所有自定义的dto类的成员变量,都被映射成JAXBElement<T>的类型了,用起来很麻烦。

后来经过试验,发现将wsdl里的nillable修改为false后,再产生的java代码就是简单的POJO了。

nillable:

一个指示符,指示是否可以将显式的零值分配给该元素。此项应用于元素内容并且不是该元素的属性。默认值为 false

如果 nillable 为 true,将使该元素的实例可以将 nil 属性设置为 truenil 属性被定义为实例的 XML 架构命名空间的一部分。

例如,下段定义了单个元素,同时将 nillable 设置为 true

<xs:element name="myDate" type="xs:date" nillable="true"/>

下段使用该元素并具有显式零值(nil 属性设置为 true)。

<myDate xsi:nil="true"></myDate>

可选。


wsdl2java命令:wsdl2java -client -frontend jaxws21 sss.wsdl

你可能感兴趣的:(java,Date,xml,工具)