gpt4 book ai didi

java - 如何在 jax-ws 中调用以持有者作为参数的 Web 服务

转载 作者:行者123 更新时间:2023-12-01 11:08:30 24 4
gpt4 key购买 nike

我是 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);

假设此函数是名为 Class 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 参数,因此该值的设置应该在该方法的实现中进行。

关于java - 如何在 jax-ws 中调用以持有者作为参数的 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32655206/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com