JAXB (JAX-WS):值为空时的空标记

  • 本文关键字:JAX-WS JAXB java soap jaxb
  • 更新时间 :
  • 英文 :


我有肥皂网络服务。当我使用 null 参数对它执行请求时,在服务器上我收到不是空参数。请求中有一个空标签:<SomeValue></SomeValue>,所以这个解释不是空的,而是空的对象,我不知道为什么,因为根据 JSR 222(我使用的是 java 1.6),null 值是通过 jaxb 映射到 soap 消息不像空标签,而是根本不像没有标签。在 wsdl 中标记此参数可以为空。此参数由类表示:

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "SomeValue")
public class SomeValue {
    @XmlElement(name = "list", nillable = true)
    protected List<SomeElement> list;
    public List<SomeElement> getList() {
        if (list == null) {
            list = new ArrayList<SomeElement>();
        }
        return this.list;
    }
}

我认为您的空元素值解析为空值的某种翻译,并且只有通过在请求中完全省略该元素才能解决该null。

最新更新