【问题标题】:JAVA RMI wrong return type generated by WSimport toolWSimport 工具生成的JAVA RMI 错误返回类型
【发布时间】:2014-06-17 16:01:15
【问题描述】:

我正在构建一个 Web 服务,其中包含一些执行特定工作的方法,这里是 Web 接口方法之一:

@WebMethod
public DatingUserInfo[] GetAll(String gender);

这个方法应该返回一个DatingUserInfo的数组,这个方法的实现是:

@Override
    public DatingUserInfo[] GetAll(String gender) {

        DatingUserInfo[] ret_arr;
 ArrayList<DatingUserInfo> usrs=new ArrayList<DatingUserInfo>();

//fill the list with objects of DatingUserInfo//

 ret_arr= new DatingUserInfo[usrs.size()];
        usrs.toArray(ret_arr);
        return ret_arr; 
}

在客户端运行 WSimport 工具以获取所需文件时,我在生成的文件之一中得到了这个:

 @WebMethod(operationName = "GetAll")
    @WebResult(targetNamespace = "")
    @RequestWrapper(localName = "GetAll", targetNamespace = "http://datingsvr/", className = "client.GetAll")
    @ResponseWrapper(localName = "GetAllResponse", targetNamespace = "http://datingsvr/", className = "client.GetAllResponse")
    @Action(input = "http://datingsvr/DatingServer/GetAllRequest", output = "http://datingsvr/DatingServer/GetAllResponse")
    public List<DatingUserInfo> getAll(
        @WebParam(name = "arg0", targetNamespace = "")
        String arg0);

    }

返回的类型是 List 而不是 DatingUserInfo[],是什么原因导致 WSimport 生成错误的代码?!

提前致谢。

【问题讨论】:

    标签: java webmethod


    【解决方案1】:

    默认情况下,WSimport 工具会自动将返回的数组替换为列表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多