簡體   English   中英

如何在jax-ws中使用持有人作為參數調用Web服務

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM