gpt4 book ai didi

java - JAXBElementRef 不生成 nillable ="true"

转载 作者:搜寻专家 更新时间:2023-11-01 00:56:55 25 4
gpt4 key购买 nike

对于我的 Web 服务请求,我想区分请求的 null 值和缺少的标记。换句话说,我需要以下元素定义:

<xs:element minOccurs="0" name="minzeronil" nillable="true" type="xs:string"/>

我开发了 web 服务代码优先,所以我使用 JAXBElementRef 定义了元素:

@XmlRegistry
public class ObjectFactory {

@XmlElementDecl(name = "minzeronil", namespace = XmlNamespace.MY_SERVICE)
public JAXBElement<String> createMinzeronil(final String value) {
return new JAXBElement<String>(new QName(XmlNamespace.MY_SERVICE, "minzeronil"), String.class, value);
}

}

现在,我希望在元素的定义中看到 nillable = "true"。相反,我得到了:

<xs:element name="minzeronil" type="xs:string"/>
<xs:element ref="tns:minzeronil" minOccurs="0"/>

如何从我的 java 代码生成 nillable = "true"? ...并且仍然在我的代码中使用 JAXBElement 及其方法,例如 isNil() ...

更新:我在 glassfish 上部署代码,因此 glassfish 是生成 wsdl 和 xsd 的代码。

最佳答案

在您的 Java 类中使用 @XmlElement(nillable = true)

@XmlElement(nillable=true)
public String getAString() {
return AString;
}

引用这个Stack Overflow question/answer

关于java - JAXBElementRef 不生成 nillable ="true",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20070878/

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