I have a class as
@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;
}
}
But In my WSDL I still get
<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>
The WSDL should be like this.
<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>
Am I missing any thing. Can some suggest on this.
The name on
@XmlRootElementonly affects the element declaration, to change the name of the complex type you need to specify a name on the@XmlTypeannotation as well.