我想提供一个简单的Web服务,它将一个复杂的对象作为输入参数。 复杂的对象是一个简单的pojo,我想通过soap公开所有成员字段。
class Customer {
private int id;
private String name;
private List<String> values;
private XMLGregorianCalendar birthDate;
}
@WebService
public clcass CustomerService {
@WebMethod
public String process(@WebParam(name = "customer") Customer customer) {
}
}
是否有任何插件/机制可以在JAXB
类上自动生成缺少的Customer
注释,以便JAX-WS
可以发布网络服务?
答案 0 :(得分:3)
Java First Development: 我认为您必须添加JAXB所需的所有注释。
合同优先发展: 如果您有WSDL定义和XML定义,则可以使用这些maven插件。
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
和
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
为您生成所有注释。
我认为另一个解决方案是从java类(schemagen插件)生成XSD,以便接近“契约优先开发”。
我希望我已经向你提供了有关你问题的所有答案。