【问题标题】:JaxB transforming empty element into null when unmarshallingJaxB在解组时将空元素转换为null
【发布时间】:2013-12-18 21:57:53
【问题描述】:

我有一个类似的 WSDl 元素:

<xs:element maxOccurs="unbounded" minOccurs="0" name="listElement" nillable="true" type="tns:test"></xs:element>

在 SOAP 请求中,如果我为 listElement 发送空元素,例如:

<listElement/>

然后 JaxB 正在创建类似的东西:

listElement= new Arraylist<Test>();
listElement.add(new Test());

所以我将 listElement 作为一个带有测试对象的单个数组。

我想做一些可以在传递空元素时将 listElement 设置为 Null 的东西。我不能使用@XMLJavaAdapter 注释,因为这是先契约,并且所有输入对象都生成一个。

我需要在 WSDL 级别或生成级别添加某种绑定。

任何帮助都会受到高度评价?

【问题讨论】:

    标签: jaxb cxf wsdl2java maven-jaxb2-plugin


    【解决方案1】:

    如果listElement元素真的代表null,那么它应该如下发送:

    <listElement xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
    

    进行任何形式的特殊处理最终都会给您带来麻烦。

    【讨论】:

    • 嗨,Blaise,我没有客户端的句柄,一旦我在服务端收到内容,有什么办法可以进行某种修改?
    猜你喜欢
    • 2017-02-08
    • 1970-01-01
    • 1970-01-01
    • 2010-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多