webservice Java调用

前言

Web Service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的交互操作的应用程序

Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。Web Service是自描述、 自包含的可用网络模块, 可以执行具体的业务功能。Web Service也很容易部署, 因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XMLHTTP。Web Service减少了应用接口的花费。Web Service为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制。

小例子 python调用

刚开始觉得java调用会比较麻烦就用python实现了一个,感兴趣的可以看一下,代码如下

 

ini

复制代码

# -*- coding: utf-8 -*- # !/usr/bin/python3 # 国内手机号码归属地查询WEB服务 from suds.client import Client def main(): wsdl_url = "http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl" # 创建一个webservice接口对象 client = Client(wsdl_url) print("client", client) resp = client.service.getMobileCodeInfo("13513500902", "") # print(json.loads(resp)) print(resp) if __name__ == '__main__': main()

Java 调用

在Linux上使用wsdl2java可以通过以下步骤进行

  1. 打开终端,使用以下命令下载wsdl2java:

     bash 

    复制代码

    wget http://www.apache.org/dist/cxf/3.3.7/apache-cxf-3.3.7.tar.gz

    此命令将下载CXF框架的tar.gz文件。

  2. 使用以下命令解压缩tar.gz文件:

     

    复制代码

    tar zxvf apache-cxf-3.3.7.tar.gz

    解压缩后,可以在文件夹apache-cxf-3.3.7/bin中找到wsdl2java命令。

  3. 在终端中,使用以下命令运行wsdl2java:

     bash 

    复制代码

    /path/to/apache-cxf-3.3.7/bin/wsdl2java -d /path/to/output/folder <wsdl_url>

    其中,/path/to/apache-cxf-3.3.7是CXF框架的路径,/path/to/output/folder是生成的Java类文件的输出文件夹的路径,<wsdl_url>是WSDL文件的URL地址。


    运行该命令后,将生成Java类文件并输出到指定的文件夹中。

以上就是在Linux上使用wsdl2java的步骤。

举个🌰

这里以该Web Service为例,演示如何使用生成的Java类调用其中的方法。

  1. 使用wsdl2java生成Java类:

     bash 

    复制代码

    /home/test/apache-cxf-3.1.6/bin/wsdl2java -d /home/test/wsdl/output http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl

    此命令将生成Java类,并输出到指定的文件夹中。

  2. 在Java代码中引入生成的类:

     arduino 

    复制代码

    import cn.com.webxml.qqCheckOnline.QQCheckOnlineWebService; import cn.com.webxml.qqCheckOnline.QQCheckOnlineWebServiceSoap;
  3. 创建QQCheckOnlineWebServiceSoap对象:

     ini 

    复制代码

    QQCheckOnlineWebService service = new QQCheckOnlineWebService(); QQCheckOnlineWebServiceSoap port = service.getQQCheckOnlineWebServiceSoap();
  4. 调用该对象的方法:

     ini 

    复制代码

    String result = port.qqCheckOnline("123456789"); System.out.println(result);

    这里调用了Web Service中的qqCheckOnline方法,并传入了一个QQ号码作为参数。该方法返回一个字符串,表示该QQ号码的在线状态。调用完成后,将返回的结果打印出来。

完整的Java示例代码如下:

 

ini

复制代码

javaCopy code import cn.com.webxml.qqCheckOnline.QQCheckOnlineWebService; import cn.com.webxml.qqCheckOnline.QQCheckOnlineWebServiceSoap; public class QQOnlineWebServiceTest { public static void main(String[] args) { QQCheckOnlineWebService service = new QQCheckOnlineWebService(); QQCheckOnlineWebServiceSoap port = service.getQQCheckOnlineWebServiceSoap(); String result = port.qqCheckOnline("123456789"); System.out.println(result); } }

注意:在调用Web Service之前,请确保你的计算机能够访问该Web Service的地址,并且已经连接到互联网。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值