欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JDK、CXF、Eclipse三种方式创建WebService客户端

程序员文章站 2022-05-18 16:33:50
...

下面以天气预报接口为实例进行介绍。

查询天气:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl
说明: 直接生成客户端代码会抛异常, 无法生成客户端代码, 解决办法:
1.  将对应的wsdl文档保存到本地
2.  修改wsdl文档的部分内容:
将 <s:element ref="s:schema" /><s:any /> 替换成 <s:any minOccurs="2" maxOccurs="2"/>
备注: 这个是Java调用net的webservice都有的问题

1、JDK创建WebService客户端代码

使用jdk的wsimport.exe工具生成客户端代码:wsimport –keep url(url为wsdl文件的路径)

JDK、CXF、Eclipse三种方式创建WebService客户端
刷新项目,便可看见生成的代码。
JDK、CXF、Eclipse三种方式创建WebService客户端
编写测试代码:
JDK、CXF、Eclipse三种方式创建WebService客户端
2、CXF创建WebService客户端

   1)下载cxf的jar包,用jar包的bin文件中的wsdl2java.bat,生成客户端代码
   2)配置环境变量

JDK、CXF、Eclipse三种方式创建WebService客户端

3)cmd进入所要生成代码的项目文件夹下,wsdl2java url(url为wsdl文件的路径)

JDK、CXF、Eclipse三种方式创建WebService客户端

4)刷新项目,即可看到生成的代码

JDK、CXF、Eclipse三种方式创建WebService客户端

5)编写测试代码

JDK、CXF、Eclipse三种方式创建WebService客户端
3、eclipse自带创建WebSservice客户端

   1)新建java Project
   2)选中所建的java项目,右击new→Web Service Client

JDK、CXF、Eclipse三种方式创建WebService客户端

3)选中后点击next,选择wsdl所在地址或填入url

JDK、CXF、Eclipse三种方式创建WebService客户端

 4)点击finish,刷新项目便可看见生成的代码

JDK、CXF、Eclipse三种方式创建WebService客户端

5)编写测试代码
public class Test {
    public static void main(String[] args) {
        WeatherWebServiceSoapProxy pro = new WeatherWebServiceSoapProxy();      
        try {
            String[] weather = pro.getWeatherbyCityName("北京");
            for(int i=0;i<weather.length;i++) {
                System.out.println(weather[i]);
            }           
        } catch (RemoteException e) {
            e.printStackTrace();
        }       
    }
}
测试结果:

JDK、CXF、Eclipse三种方式创建WebService客户端
以上即为创建WebService客户端代码的三种方式。

相关标签: webservice客户端