1

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

@XmlRootElement(name="Helloworld")
@XmlType(propOrder = { "userName"})
public class UserDetails {
    //User Name
    private String userName;

    @XmlElement(name="UserName")   
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
}

しかし、私のWSDLではまだ得られます

<xs:element name="Helloworld" type="tns:userDetails"/>
<xs:complexType name="userDetails">
<xs:sequence>
<xs:element minOccurs="0" name="UserName" type="xs:string"/>
</xs:sequence>
</xs:complexType>

WSDL は次のようになります。

<xs:element name="Helloworld" type="tns:Helloworld"/>
<xs:complexType name="Helloworld">
<xs:sequence>
<xs:element minOccurs="0" name="UserName" type="xs:string"/>
</xs:sequence>
</xs:complexType>

私は何か欠けていますか?これについていくつか提案できますか。

4

2 に答える 2

1

これを使ってみてください:

@XmlRootElement(name="Helloworld")
@XmlType(name = "HelloWorld", propOrder = {"userName"})
public class UserDetails {
    //User Name
    private String userName;

    @XmlElement(name="UserName")   
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
}
于 2013-01-24T09:52:21.487 に答える
1

上の名前は要素宣言にのみ影響します。複合型の名前を変更するには、注釈にも@XmlRootElement名前を指定する必要があります。@XmlType

于 2013-01-24T09:33:21.323 に答える