【发布时间】:2013-11-19 11:54:35
【问题描述】:
对于我的 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 的那个。
【问题讨论】:
-
以下内容可能会有所帮助:stackoverflow.com/questions/19665550/…
标签: java jaxb jaxbelement