Java apachecxfweb服务没有';返回字符串数组

Java apachecxfweb服务没有';返回字符串数组,java,web-services,soap,cxf,Java,Web Services,Soap,Cxf,我是java web服务编程的新手,这个问题可能看起来很基本。但我找不到问题所在 我已经使用Eclipse为Tomcat6.0.37开发了ApacheCXF(v2.7.6)Web服务。 基本上,我创建了一个动态web项目,创建了webservice类,并从该类创建了webservice(eclipse生成了其余部分,包括wsdl和xsd)。除了我尝试返回字符串数组时,所有操作都正常。 这是我的方法 @WebMethod(action="getFriends") public String

我是java web服务编程的新手,这个问题可能看起来很基本。但我找不到问题所在

我已经使用Eclipse为Tomcat6.0.37开发了ApacheCXF(v2.7.6)Web服务。 基本上,我创建了一个动态web项目,创建了webservice类,并从该类创建了webservice(eclipse生成了其余部分,包括wsdl和xsd)。除了我尝试返回字符串数组时,所有操作都正常。 这是我的方法

@WebMethod(action="getFriends")
    public String[] getFriends(String u, String p){
        return new String[] {"item 1","item 2","item 3"};
    }
响应类型定义

<xs:complexType name="getFriendsResponse">
    <xs:sequence>
      <xs:element maxOccurs="unbounded" minOccurs="0" name="return" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>

这是返回的消息

信息:出站消息 身份证号码:34 编码:UTF-8 内容类型:text/xml 标题:{} 有效载荷:

正如您所看到的,甚至没有返回部件。你知道会出什么问题吗


我在这个项目中使用了Windows7、EclipseKepler和JDK6。

不管我记得什么,它都不起作用,因为您无法在HTTP响应中将数组解析为纯文本

试试这两种方法- 1)将方法的返回类型更改为String,然后返回如下字符串

 return Arrays.toString(new String[] {"item 1","item 2","item 3"});
2)您可以更改列表的返回类型并返回如下列表-

return Arrays.asList(new String[] {"item 1","item 2","item 3"});

谢谢你。谢谢你的回复。我还考虑将数组转换为字符串,然后在客户端再次转换为数组。但奇怪的是,在复杂类型上,Eclipse在生成Web服务时显示错误。但对于字符串[],它生成时没有任何错误。现在我将使用这个解决方案,谢谢。您所说的“Eclipse在生成Web服务时显示错误”是什么错误?如果以上回答了您的问题,请将其标记为已回答,以便帮助其他有相同问题的访问者。-谢谢