5

nullWeb サービスのリクエストで、リクエストされた値と欠落しているタグを区別したいと考えました。つまり、次の要素定義が必要でした。

<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"/>

nillable = "true"Java コードからどのように生成できますか? ...そして、私のコードとそのメソッドでまだJAXBElementを使用していますisNil()...

更新:私はコードをグラスフィッシュにデプロイするので、グラスフィッシュは wsdl と xsd を生成するものです。

4

1 に答える 1

0

@XmlElement(nillable = true)Java クラスで使用する

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

このスタックオーバーフローの質問/回答を参照してください

于 2013-11-21T22:02:07.357 に答える