gpt4 book ai didi

java - 如何防止在 soap webservice 客户端中生成 xml 'nil' 元素?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:32:35 27 4
gpt4 key购买 nike

我有一个自动生成的 soap 网络服务客户端(使用 cxf),并且一些元素被标记为可选。

如果我不设置这些元素,发送到 web 服务的 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"/>

如果 wsdl 包含以下内容,则会生成这些内容:

minOccurs="0" nillable="true"

如何防止生成这些 nil 元素?可能 Web 服务本身不需要此信息,因为当我使用 soapUI 并发送剥离 nil 元素的纯 xml 请求时,请求仍然有效。

我的绑定(bind)文件:

<jaxb:globalBindings generateElementProperty="false" />

那么,如何防止它们在发送过程中生成?

最佳答案

如果一个元素是minOccurs="0"nillable="true"那么生成的属性类型将是 JAXBElement ,类似于 JAXBElement<String> .当该属性为 null 时它将从编码的 XML 中排除(null 对应于 minOccurs="0" )。获取xsi:nil="true"你需要有一个 JAXBElement 的实例与 nil设置为 true .

关于java - 如何防止在 soap webservice 客户端中生成 xml 'nil' 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26122192/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com