利用cxf 使用webservice接口

本文介绍了如何使用CXF作为客户端调用WebService接口。首先,从Apache CXF官网下载并解压工具,通过wsdl2java命令生成客户端代码。接着,在项目中配置Maven依赖,并将生成的代码放入Spring扫描目录。在spring-context.xml中配置客户端,指定接口类名、全限定类名及WSDL地址。最后,在调用类中通过接口实例调用WebService方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作为客户端调用webservice,使用cxf工具是非常简单的一种实现方式:
1、下载cxf工具
下载地址:http://cxf.apache.org/download.html
(1)解压cxf工具,使用控制台(cmd)进入bin目录
2、使用wsdl2java工具生成客户端代码
(2)wsdl2java用法: wsdl2java -p com.client -d d:\client\src –all transferQueryEmpCode.wsdl
(注:-p后面的参数是生成代码所在的包名,-d后面的参数是生成代码存放的路径,-all后面的参数是wsdl文件所在的具体目录)
-p 指定其wsdl的命名空间,也就是要生成代码的包名:
-d 指定要产生代码所在目录
-client 生成客户端测试web service的代码
-server 生成服务器启动web service的代码
-impl 生成web service的实现代码
-ant 生成build.xml文件
-all 生成所有开始端点代码
3.项目配置maven依赖

<!-- cxf  client-->
        <dependency>  
            <groupId>org.apache.cxf</groupId>  
            <artifactId>cxf-rt-frontend-jaxws</artifactId>  
            <version>${cxf.version}</version>  
        </dependency>  
        <dependency>  
            <groupId>org.apache.cxf</groupId>  
            <artifactId>cxf-rt-transports-http</artifactId>  
            <version>${cxf.version}</version>  
        </dependency>  
        <dependency>  
            <groupId>org.apache.cxf</groupId>  
            <artifactId>cxf-rt-transports-http-jetty</artifactId>  
            <version>${cxf.version}</version>  
        </dependency>  
        <dependency>  
            <groupId>org.apache.geronimo.specs</groupId>  
            <artifactId>geronimo-ws-metadata_2.0_spec</artifactId>  
            <version>1.1.3</version>  
        </dependency>

4.将客户端代码放到项目中的spring自动扫描的目录下。
5.写客户端配置文件spring-context.xml
添加客户端配置注册:

<description>cxf Configuration</description>
    <jaxws:client id="A" serviceClass="B" address="C">
    </jaxws:client>

说明:A:可以用生成的接口类的类名命名。
B:是生成的代码中的接口类在项目中的全类名。
C:是生成此客户端代码所用到的wsdl的地址。

6.使用接口
在具体调用webservice的类中,获取service接口。

ApplicationContext context = new ClassPathXmlApplicationContext("spring-context-cxf.xml");
        // 获取定义的 Web Service Bean
        IGgCertService iGgCertService = (IGgCertService) context.getBean("IGgCertService");

说明:IGgCertService 为你的webservice接口类。然后就可以使用你获得的webservice接口.并直接使用接口中的方法即可。

List<CdVehicle> list=iGgCertService.getAllCdVehicles(username, password, pc, "", "", "", pageSize, page);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值