chinasd211 2011-04-06 16:33
浏览 472
已采纳

webservice的返回值问题

我写了一个Webservice,服务端代码如下:
public class GetList {
public ArrayList getList(String str){
System.out.println("size="+str);
int size = Integer.parseInt(str);
ArrayList list = new ArrayList();
for(int i=0;i<size;i++){
list.add("hujll");
System.out.println(list.get(i));
}
return list;
}

}
,通过tomcat服务器发布成功,
客户端代码如下:
public class TestGetList {
public static void main(String[] args) {
ArrayList returnName = null;
try {
String strName = "http://localhost:8080/axis2/services/getlist?wsdl";
Service service = new Service();
Call call = (Call) service.createCall();
QName qn = new QName("urn:getlist", "ArrayList");
call.registerTypeMapping(ArrayList.class, qn,
new BeanSerializerFactory(ArrayList.class, qn),
new BeanDeserializerFactory(ArrayList.class, qn));
call.setTargetEndpointAddress(new java.net.URL(strName));
call.setOperationName(new QName("http://list", "getList"));
call.addParameter("str", XMLType.XSD_STRING, ParameterMode.IN);
call.setReturnClass(ArrayList.class);

        returnName = (ArrayList) call.invoke(new Object[] { "4" });
        for (int i = 0; i < returnName.size(); i++) {
            System.out.println("dd=="
                    + returnName.get(i).toString());
        }
    } catch (ServiceException e) {
        e.printStackTrace();
    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (RemoteException e) {
        e.printStackTrace();
    }
}

}
问题是:得到了集合的大小,循环打印的结果是空值及输出如下:
dd==[]
dd==[]
dd==[]
dd==[]

我查资料把返回的集合转换成数组,
String[] arr = (String[]) list.toArray();
结果报类转换异常错误。

  • 写回答

2条回答 默认 最新

  • shadabing 2011-04-06 21:38
    关注

    http://yangzb.iteye.com/blog/322549
    看看这篇文章,你可能没序列化

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog