我是网络服务的新手,我正在探讨有关此主题的一个特定想法。
假设我有一个类似下面的java类
public class Department{
private int id;
private String name
private List<Employee> employees;
//getters and setters
}
我想创建一个Web Service方法,我希望它公开数据 在我调用此Web服务时遵循某种模式。这将基本上 是SOAP响应模式。
<department>
<id />
<name />
<employees type="list">
<employee>
<emp_id />
<name />
</employee>
.
.
</employees>
</department>
Web服务方法只会找到一个给出部门ID输入参数的部门。 输出应遵循上面的模式
@WebService
public class Service{
@WebMethod
public Department getDepartment(int id){
//code
}
}
这可能吗?
答案 0 :(得分:4)
您需要使用正确的JAXB注释来注释您的POJO类。
以下是一个例子:
@XmlAccessorType(value = XmlAccessType.NONE)
public class Department {
@XmlElement
private Long id
@XmlElement
private String name
@XmlElement
private List<Employee> employees;
// +accessor methods
}
同样以相同的方式注释您的Employee类。
并使用
@WebService(name = "departmentServiceSOAP", targetNamespace = "/namespace")
@javax.jws.soap.SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
public interface DepartmentService {
@WebMethod
public Department getDepartment(Long id);
}