[英]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.