java-jaxws Web服务.改变节点结构
作者:互联网
我的Entity类中有下一个代码
class Role {
private List<String> tubes;
//...
}
接下来的Maven使用jaxws-maven-plugin生成请求-响应类
@XmlRootElement(name = "getRoleResponse", namespace = "http://ws.config.com/")
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "getRoleResponse", namespace = "http://ws.config.com/")
public class GetRoleResponse {
@XmlElement(name = "return", namespace = "")
private Role _return;
//...
}
我发送肥皂请求并得到回应
<tubes>1SO</tubes>
<tubes>2SO</tubes>
<tubes>3SO</tubes>
<tubes>4SO</tubes>
但我想得到这样的请求:
<tubes>
<tube>1SO</tube>
<tube>2SO</tube>
<tube>3SO</tube>
<tube>4SO</tube>
</tubes>
我能做什么?
编辑:
生成的WSDL的一部分
<xs:complexType name="role">
<xs:sequence>
<xs:element name="tubes" type="xs:string" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
解决方法:
>方式:
>指定XSD
>生成JAXB类
>在您的Web服务中使用生成的JAXB类
>方式:
>根据需要使用JAXB注释手动注释Role类,例如http://docs.oracle.com/javase/7/docs/api/javax/xml/bind/annotation/XmlElementWrapper.html可能会有所帮助(个人而言,我很少手动注释JAXB类.我通常从XSD文件生成它们)
标签:maven,jax-ws,java 来源: https://codeday.me/bug/20191101/1983264.html