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 Stata链式中介效应代码修改
  • ¥15 latex投稿显示click download
  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错