webService-对接webService接口

22 篇文章 0 订阅

最近做机场项目,对接一个webService接口,以前从来没做过类似的对接的,就记录一次,给自己一次学习的机会

http://xxxxxxxx:7190/esb/proxy/ws/TOMS_FWZXCLSJ/capairport/ws/gaugeWebService?wsdl

首先对方只提供了wsdl的一个地址信息,没有其他的信息了,完事就通知可以进行对接了。

由于自己没有对接过类似的,刚一开始走了很多弯路。先出下正确的处理结果

1、首先根据地质生成本地代码

采用java原生JDK命令:(执行命令目录jdk1.8\bin  ,这个主要根据自己本地JDK安装)

wsimport.exe -s E:\data\webservice\ http://xxxxxx/gaugeWebService?wsdl

wsimport.exe  命令没啥说的

-s     一定要打这个,生成源码文件,不然就是class文件了

E:\data\webservice\      指定生成的文件存放位置

url    wsdl地址

生成的结果:

2、使用这些生成的结果

首先根据wsdl结果说明下:

入口:<wsdl:service name="IGaugeService">

执行:<wsdl:portType name="IGauge">

有哪些方法:<xs:element name="******" type="tns:HeartBeat"/>

定义了哪些实体类:<xs:complexType name="*****">

java代码调用示例:

    public static SemsRS getAreaList() throws Exception {
        IGaugeService service = new IGaugeService();
        IGauge iGaugePort = service.getIGaugePort();
        SemsRQ semsRQ = new SemsRQ();
        semsRQ.setSEMSTYPE("DICTIONARY");
        semsRQ.setSEQN("110");
        semsRQ.setSNDR("CSMS");
        SemsCondition semsCondition = new SemsCondition();
        semsRQ.setSEMSCONDITION(semsCondition);
        return iGaugePort.getGaugeData(semsRQ);
    }

到此为止就完成了对接!!!!!

博客中可能有一些地方给的信息不是很明确,因为有一些感觉不是很重要或者涉及到一些实际接口地址问题就不暴露了。

主要重点:

由于地址一般都会区分生产地址和测试地址,所以要记得修改下对应的信息,主要涉及到的:

1、WSDL接口地址的配置,主要在入口类,

2、包路径地址,生成的主要在一个接口文件中,执行文件中

 

对于这次的对接,自己走了不少弯路,百度了不少,但是自己出发点是 java调用webService的思路走的,导致自己各种方式方法调用,最后都是遇到各种走不通和耗时耗力的方案,遇到的问题大致的有对象套对象的接触不适应、调用结果返回不明确的1......

 

在请教过同事后,一语点醒了我,WSDL本身可以生成对应的java代码,完事直接用就可以。这之前是真不知道哈。

慢慢给自己积累。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值