webService—调用webService

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);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
原文地址:https://www.cnblogs.com/cnsdhzzl/p/6034117.html