加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

axis 使用 wsdl 文件 生成 webservice的 client 端 ,并传送数据

发布时间:2020-12-16 23:56:23 所属栏目:安全 来源:网络整理
导读:1 ?首先 下载 最新的?axis2-1.6.2-bin.zip 解压缩,使用命令行,切换 到 bin 目录 下,运行下面的命令。注意,如果?si_UpWeiboData_ob.wsdl 不在当前目录下,需要提供?si_UpWeiboData_ob.wsdl的物理路径。 ? ? ? ? ? ? ? ? ? ? ? ? ? ?wsdl2java -uri?si_UpW

1 ?首先 下载 最新的?axis2-1.6.2-bin.zip 解压缩,使用命令行,切换 到 bin 目录 下,运行下面的命令。注意,如果?si_UpWeiboData_ob.wsdl 不在当前目录下,需要提供?si_UpWeiboData_ob.wsdl的物理路径。

? ? ? ? ? ? ? ? ? ? ? ? ? ?wsdl2java -uri?si_UpWeiboData_ob.wsdl -t?


2 ,命令执行后,会生成如下的文件。

一个src目录

Si_UpWeiboData_obServiceStub.java ?这个就是 服务的代理文件,其中会生成代理的方法

Si_UpWeiboData_obServiceCallbackHandler.java ?这是异步调用的回调方法,如果需要进行异步调用的需要使用,这个类,如果不用异步方式的话,就不会用到这个类。Si_UpWeiboData_obServiceStub.java 中会生成两种调用方式的接口。根据需要进行选择。

一个test目录

? ? 这个就是生成的单元测试文件。里面会有两个测试方法。一个测试同步调用的方式,一个测试异步调用的方式。看如下代码的注释。


3,构造参数,传递数据,这一步也是最重要的异步。我生成的代码如下。注意看注释


? ?/** ? ? ? ? ?* Auto generated test method ? ? ? ? ?*/ ? ? ? ? public ?void testsi_UpWeiboData_ob() throws java.lang.Exception{ ? ? ? ? com.jahwa.pos.crm.Si_UpWeiboData_obServiceStub stub = ? ? ? ? ? ? ? ? ? ? new com.jahwa.pos.crm.Si_UpWeiboData_obServiceStub();//the default implementation should point to the right endpoint ? ? ? ? ? ?com.jahwa.pos.crm.Si_UpWeiboData_obServiceStub.Mt_UpWeiboData_req mt_UpWeiboData_req4= ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (com.jahwa.pos.crm.Si_UpWeiboData_obServiceStub.Mt_UpWeiboData_req)getTestObject(com.jahwa.pos.crm.Si_UpWeiboData_obServiceStub.Mt_UpWeiboData_req.class); ? ? ? ? ? ?//TODO : Fill in the mt_UpWeiboData_req4 here ? ? ? ? ? //下面这个地方就是,我们要填充自定义代码的地方,在这里我们要按照要求,构建自己的数据。最后构建成一个 mt_UpWeiboData_req4 ? ? ? ? ? ? ? ? ? ? ? ?HttpJsonGet hjg = new HttpJsonGet("GET","","http://v3.unotice.cn/webservice/client/get_weibo_list",1); ? ? ? ? ? ?JSONArray weiboArray = hjg.getResult(); ? ? ? ? ? ? ? ? ? ? ? ?I_ZCRMT_ARTICLE_type0 article = new I_ZCRMT_ARTICLE_type0(); ? ? ? ? ? ?I_ZCRMT_WEIBO_type0 weibo = new I_ZCRMT_WEIBO_type0(); ? ? ? ? ? ? ? ? ? ? ? ?for(int i=0;i<2;i++){ ? ? ? ? ?? ? ? ? ? ? ? ? ?Item_type0 item0 = new Item_type0(); ? ? ? ? ? ? ? ?item0.setZID(weiboArray.getJSONObject(i).getString("ZID")); ? ? ? ? ? ? ? ?item0.setZTEXT(weiboArray.getJSONObject(i).getString("ZTEXT")); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?weibo.addItem(item0);? ? ? ? ? ? ?} ? ? ? ? ? ? ? ? ? ? ?HttpJsonGet wenzhang = new HttpJsonGet("GET","http://v3.unotice.cn/webservice/client/get_article_list",1); ? ? ? ? ?JSONArray wenzhangArray = wenzhang.getResult(); ? ? ? ? ? ? ? ? ? ? ?for(int i=0;i<2;i++){ ? ? ? ? ?? ? ? ? ? ? Item_type1 item1 = new Item_type1(); ? ? ? ? ? item1.setZID(weiboArray.getJSONObject(i).getString("ZID")); ? ? ? ? ? item1.setZARTICLE_TYPE(weiboArray.getJSONObject(i).getString("ZID")); ? ? ? ? ? article.addItem(item1);? ? ? ? ? ? ?} ? ? ? ? ?? ? ? ? ? ? //注意这个地方,必须用这个方法,进行设置,它会把 localItemTracker 设置 为ture,这样才会把数据序列化进行传输。否者不会传输这个字段。 ? ? ? ? ? ? ?dur.setI_ZCRMT_ARTICLE(article); ? ? ? ? ? ?dur.setI_ZCRMT_WEIBO(weibo); ? ? ? ? ? ? ? ? ? ? ? ?mt_UpWeiboData_req4.setMt_UpWeiboData_req(dur); ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ?//发送数据,实际调用代理方法,这个是同步调用方式,所以可以立刻返回结果。 ? ? ? ? ? ?stub.si_UpWeiboData_ob(mt_UpWeiboData_req4); ? ? ? ? }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读