编程语言
首页 > 编程语言> > java-jaxws Web服务.改变节点结构

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