如何使用数组或列表作为参数创建JavaWeb服务(jax-ws)

如何使用数组或列表作为参数创建JavaWeb服务(jax-ws),java,web-services,jakarta-ee,jax-ws,Java,Web Services,Jakarta Ee,Jax Ws,我对一个以数组或列表为参数的web服务有一个问题。下面是一个例子: @WebMethod public String printList(@WebParam(name = "list") List<String> list) { String result = ""; if(list == null) { result = "list is null"; } else if(list.

我对一个以数组或列表为参数的web服务有一个问题。下面是一个例子:

@WebMethod
public String printList(@WebParam(name = "list") List<String> list) {
    String result = "";
    if(list == null) {
        result = "list is null";
    } else if(list.size() == 0) {
        result = "list is empty";
    } else {
        for(String elem : list) {
            result += elem + " ";
        }
    }
    return result;
}
@WebMethod
公共字符串打印列表(@webgram(name=“list”)列表){
字符串结果=”;
if(list==null){
result=“列表为空”;
}else if(list.size()==0){
result=“列表为空”;
}否则{
for(字符串元素:列表){
结果+=元素+“”;
}
}
返回结果;
}
当我从web服务客户机调用printList时,结果总是“list为空”,使用字符串数组时也是如此。我应该使用一些附加注释还是什么?

您的代码非常完美,似乎您的调用方式不对

您可以直接删除第二个条件,第二个条件将起作用

您的代码非常完美,似乎您的调用方式不对


您可以直接删除第二个条件,否则第二个条件将起作用。

JAX Web服务中的数组数据类型不支持,因此您需要使用库和工具来实现这类功能。

JAX Web服务中的数组数据类型不支持,因此您需要使用库和工具实现这类功能。

谢谢您的回答。如果我调用同一web服务的其他方法,例如使用一个字符串参数,那么一切都可以正常工作—传递的字符串(或long、int或其他)参数既不为null也不为空。所以我想我说得对。在生成web服务时是否有可能出错?@Pawel尝试使用SOAP ui一次。从server endlife.java来看,它似乎很完美,它与soapui一起工作——你是对的,它一定是客户端的东西。谢谢谢谢你的回答。如果我调用同一web服务的其他方法,例如使用一个字符串参数,那么一切都可以正常工作—传递的字符串(或long、int或其他)参数既不为null也不为空。所以我想我说得对。在生成web服务时是否有可能出错?@Pawel尝试使用SOAP ui一次。从server endlife.java来看,它似乎很完美,它与soapui一起工作——你是对的,它一定是客户端的东西。谢谢