我是 Web 服务新手,我使用一种公开的方法在 Eclipse 中创建了一个基本项目。我能够部署我的网络服务并且工作正常。代码如下。
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
@WebService(targetNamespace="http://test.com", name="testService")
public class WebService {
@WebMethod(operationName="start")
public String start(@WebParam(name="inputParameter") String inputParameter) {
return startMethod(inputParameter);
}
}
我的问题是如何设置这个方法来处理复杂类型。我想接收许多参数,但我不想只将它们作为一堆字符串接收。我正在考虑拥有某种包装对象,其中包含我的方法所需的所有参数。关于如何做到这一点有什么建议吗?我是否需要额外的注释来创建 WSDL?谢谢!
JAX-WS 基于 JAXB,因此您只能将 JAXB 支持的类型作为 Web 方法参数传递。因此,任何正确注释的用户定义的类(如下所述)都可以用作任何 WebMethod 的参数或返回类型
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Person")
public class Person {
@XmlElement(name = "firstName")
protected String firstName;
@XmlElement(name = "lastName")
protected String lastName;
public String getFirstName() {
return firstName;
}
public void setFirstName(String value) {
this.firstName = value;
}
public String getLastName() {
return lastName;
}
public void setLastName(String value) {
this.lastName = value;
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)