我有一个班级
@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>
我错过了什么。有人可以对此提出建议。
答案 0 :(得分:1)
@XmlRootElement
上的名称仅影响元素声明,也可以更改在@XmlType
注释上指定名称所需的复杂类型的名称。
答案 1 :(得分: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;
}
}