0

私はこのクラスを持っています

package com.ni.schemas.provider_framework._1.providers;

import java.math.BigInteger;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;


/**
 * 
 *                 This is the top-level for a Request. 
 *                 Providers may extend this type if needed, but may not restrict it by blocking the pre-defined elements
 *             
 * 
 * <p>Clase Java para RequestErrorType complex type.
 * 
 * <p>El siguiente fragmento de esquema especifica el contenido que se espera que haya en esta clase.
 * 
 * <pre>
 * &lt;complexType name="RequestErrorType">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="httpResponseCode" type="{http://www.w3.org/2001/XMLSchema}integer"/>
 *         &lt;group ref="{http://www.ni.com/schemas/provider-framework/1/providers}ErrorElementGroup"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "RequestErrorType", propOrder = {
    "httpResponseCode",
    "summary",
    "userMessage",
    "detail"
})
public class RequestErrorType {

    @XmlElement(required = true)
    protected BigInteger httpResponseCode;
    protected String summary;
    protected String userMessage;
    protected String detail;

    /**
     * Obtiene el valor de la propiedad httpResponseCode.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getHttpResponseCode() {
        return httpResponseCode;
    }

    /**
     * Define el valor de la propiedad httpResponseCode.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setHttpResponseCode(BigInteger value) {
        this.httpResponseCode = value;
    }

    /**
     * Obtiene el valor de la propiedad summary.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getSummary() {
        return summary;
    }

    /**
     * Define el valor de la propiedad summary.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSummary(String value) {
        this.summary = value;
    }

    /**
     * Obtiene el valor de la propiedad userMessage.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getUserMessage() {
        return userMessage;
    }

    /**
     * Define el valor de la propiedad userMessage.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setUserMessage(String value) {
        this.userMessage = value;
    }

    /**
     * Obtiene el valor de la propiedad detail.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDetail() {
        return detail;
    }

    /**
     * Define el valor de la propiedad detail.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDetail(String value) {
        this.detail = value;
    }

}

表示時にuserMessage変数をnullに設定したい場合は、これを表示するだけです

<userMessage />

そして、私は表示する必要があります

<userMessage xsi:nil="true" />

これどうやってするの?

4

1 に答える 1

1

以下を使用すると、マーシャリング時に null が nil として扱われます

@XmlElement(nillable = true)
protected String userMessage;

WSDL/XSD に nillable として定義された要素がある場合、コード生成により次のものが生成されます。

protected JaxbElement<String> userMessage;

あなたの javadoc から、生成されたコードはあなたが現在使用しているものではないことがわかります。別の Web サービスを攻撃している場合は、wsdl から正しい dto オブジェクトを生成することをお勧めします。jdk/bin ディレクトリにある xjc.exe と wsdl.exe のドキュメントを参照してください。

于 2013-04-15T18:23:49.627 に答える