栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

使用axis 调用webservice时怎么处理返回字符串数组

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用axis 调用webservice时怎么处理返回字符串数组

Future monitor = threads.submit(new Callable() {
    @Override
    public String[] call() throws Exception {
        Call call = getMonitorCall();
        String result[] = (String[]) call.invoke(new Object[]{});//返回结果
        log.info("DG983盾构主监控返回数据:"+result);
        return result;
    }
});
try {
    ShieldData shieldData = new ShieldData();
    String[] Data1 = monitor.get(60, TimeUnit.SECONDS);
    String dataDG983 = org.apache.commons.lang3.StringUtils.join(Data1, ",");
    shieldData.setType(active);
    //等待数据接收完成
    shieldData.setMonitorDG983(dataDG983);
    log.info("DG983对象数据"+shieldData.toString());
    //发送智慧工地服务器
    String Vo = OKHttpUtil.postMap(addShieldProUrlNew15, null, shieldData);
    log.info("DG983数据已发送成功!且返回数据:"+Vo);
    log.info("DG983程序调用完成");
}catch (Exception e){
    log.info("DG983链接错误:"+e);
    log.info("DG983错误消息:"+e.getMessage());
}

调用:

private Call getMonitorCall(){
        if(monitorCall == null){
            try {
                //使用AXIS远程调用WebService服务; webservice路径 这里后面加不加 "?wsdl" 效果都一样的                

                String endpoint = "http://192.168.110.24/OPC_Read_Write_Svr/Service.asmx";//链接地址 DG983
                Service service = new Service();//新建服务
                URL url = new URL(endpoint);//新建URL
                monitorCall = (Call) service.createCall();//服务链接
                monitorCall.setTargetEndpointAddress(url);//设置url
                monitorCall.setOperationName(new QName("getData"));//设置调用接口名
                // 设置返回值类型
                // 对于返回是字符串数组的返回类型只有这两种可行
                monitorCall.setReturnClass(java.lang.String[].class);
                monitorCall.setUseSOAPAction(true);
                monitorCall.setSOAPActionURI("http://www.crcc.cn/getData");
//                call.setReturnType(XMLType.SOAP_ARRAY);
//                call.setUseSOAPAction(true);
//                call.setSOAPActionURI("http://www.crcc.cn/getData");

            }catch (Exception e){
                log.error("[e]getMonitorCall exception!",e);
            }
        }
        return monitorCall;
    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/778008.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号