mem*_*und 6 java spring cxf jax-ws jaxb
我有一个自动生成的soap webservice客户端(使用cxf),一些元素被标记为可选.
如果我没有设置这些元素,发送到webservice的XML请求有很多元素,如下所示:
<PayText xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<Name xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
Run Code Online (Sandbox Code Playgroud)
如果wsdl包含:
minOccurs="0" nillable="true"
Run Code Online (Sandbox Code Playgroud)
如何防止这些nil元素的产生?可能web服务本身不需要这些信息,因为当我使用soapUI并发送纯xml请求剥离nil元素时,请求仍然有效.
我的绑定文件:
<jaxb:globalBindings generateElementProperty="false" />
Run Code Online (Sandbox Code Playgroud)
那么,如何防止它们在发送过程中生成?
如果一个元素是minOccurs="0",nillable="true"那么生成的属性类型将是 a JAXBElement,类似JAXBElement<String>. 当该属性为 时,null它将从编组 XML 中排除(null 对应于minOccurs="0")。为了获得xsi:nil="true"你需要有一个设置为JAXBElement的实例。niltrue
| 归档时间: |
|
| 查看次数: |
3694 次 |
| 最近记录: |