[英]How to invoke a webservice with holders as parameters in jax-ws
我是jax-ws开发的新手,并且已经使用wsimport从wsdl生成了Java源文件。 而且我需要从这些源文件之一调用函数到我的UI程序中。
我需要调用的函数如下所示:
@WebMethod(operationName = "GetX")
@RequestWrapper(localName = "GetX", targetNamespace = "urn:Control", className = "jaxws.control.GetX")
@ResponseWrapper(localName = "GetXResponse", targetNamespace = "urn:Control", className = "jaxws.control.GetXResponse")
public void myHostGetX(
@WebParam(name = "isActive", targetNamespace = "", mode = WebParam.Mode.OUT)
Holder<Boolean> Active);
可以说,此功能是A类的一部分。
但是,如果我尝试通过类似的方式来调用它,
boolean foo;
ResponseFromWS response = myHostGetX(foo);
我收到类似的错误,
The method myHostGetX(Holder<Boolean>) in the type Class A is not applicable for the arguments (boolean)
我怎么称呼这个Holder<Boolean>
?
您需要设置持有人的价值 。 所以:
myHostGetX(new Holder(Boolean.TRUE)); //note plain boolean should work in the constructor.
要么
myHostGetX(new Holder());
要么
Holder holder = new Holder();
holder.value = Boolean.TRUE;
myHostGetX(holder)
这些都应该起作用。 值得一提的是,由于这是一个OUTPUT参数,因此该值的设置应在该方法的实现中进行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.