Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JAX-WS Soap转换字符串。。。列出<;字符串>;_Java_Web Services_Jsp_Soap_Jax Ws - Fatal编程技术网

Java JAX-WS Soap转换字符串。。。列出<;字符串>;

Java JAX-WS Soap转换字符串。。。列出<;字符串>;,java,web-services,jsp,soap,jax-ws,Java,Web Services,Jsp,Soap,Jax Ws,我正在使用JAXWS在Java中创建一个Web服务 我有以下接口webmethod: @WebMethod public boolean check(String... p); 当我构建并运行项目时,web服务引用函数是这样的: public boolean check( @WebParam(name = "arg0", targetNamespace = "") List<String> arg0) throws I

我正在使用JAXWS在Java中创建一个Web服务
我有以下接口webmethod:

@WebMethod
public boolean check(String... p);
当我构建并运行项目时,web服务引用函数是这样的:

public boolean check(
    @WebParam(name = "arg0", targetNamespace = "")
    List<String> arg0)
    throws IllegalAccessException_Exception,
           InvocationTargetException_Exception,
            NoSuchMethodException_Exception;
公共布尔检查(
@WebParam(name=“arg0”,targetNamespace=”“)
列表(arg0)
抛出IllegalAccessException\u异常,
InvocationTargetException_异常,
NoSuchMethodException_Exception;
字符串…
已替换为
列表

现在我的问题是:

如何防止JAXWS将参数从
String…
转换为
List
String…
(varargs)基本上是内部数组,唯一的区别是调用它的代码。与main方法一样,您可以编写
main(String…args)
而不是
main(String[]args)

JAX-WS使用泛型,这就是为什么它将vararg参数转换为list,因为它只是一个普通数组


如果确实要使用数组(vararg)参数,则需要编写自己的适配器,并使用
@XmlJavaTypeAdapter(YourAdapter.class)
注释参数,其中
YourAdapter
扩展
XmlAdapter
并重写marshall和unmarshall方法。我不确定这是否适用于参数(只记得它适用于返回值),您必须对其进行测试,但我建议只使用列表参数。

您还希望它转换为什么?只需保留它
String…
如果我尝试使用多个字符串作为参数调用函数,则会出现错误。(varargs)您是否愿意共享失败的示例代码来调用该函数?