我是网络服务新手,我正在探索有关此主题的一个特定想法。
假设我有一个如下所示的 java 类
public class Department{
private int id;
private String name
private List<Employee> employees;
//getters and setters
}
我想创建一个 Web 服务方法,并且希望它公开数据 当我调用此 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
}
}
这可能吗?
最佳答案
您需要使用正确的 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);
}
关于java - 给定一个 java 类的 Web 服务架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5726550/