Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。
Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。Web Service是自描述、 自包含的可用网络模块, 可以执行具体的业务功能。
webService的三种调用方案
1.网站提供的链接(http)
2.代理
3.代码
使用javax-wsdl解析webService
1.获得一个wsdl文档的地址
如:http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl
注:查询手机归属地用的
2.使用JDK自带的工具wsimport,根据服务端生成的WSDL文件创建客户端支持代码。生成java客户端代码
注:
-s指源文件
点指当前路径
wsimport是JDK自带的工具,主要功能是根据服务端生成的WSDL文件创建客户端支持代码。生成java客户端代码常使用的命令参数说明:
参数 | 说明 |
-p | 定义客户端生成类的包名称 |
-s | 指定客户端执行类的源文件存放目录 |
-d | 指定客户端执行类的class文件的存放目录 |
-keep | 表示生成客户端执行类的源代码 |
-b | 指定jaxws/jaxb绑定文件或额外的schemas |
-extension | 使用扩展来支持SOAP1.2 |
3.在工程中创建相同的包,放入上面生成的java源文件
4.调用相应的方法-完成功能
cxf调用接口 JaxWsProxyFactoryBean factoryBean = new JaxWsProxyFactoryBean(); factoryBean.setServiceClass(BmcmSoap.class); factoryBean.setAddress("http://127.0.0.1:90/bmcm.asmx"); BmcmSoap readerService = (BmcmSoap) factoryBean.create(); String reader = readerService.dhyQueryTisaneNum(json); System.out.println(reader);