Apache CXF 之 HelloWorld

本文通过实战演示如何利用Apache CXF发布和调用WebService服务。包括创建接口、实现接口、发布服务及创建客户端进行访问的过程。

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

    介绍: Apache CXF = Celtix + XFire,Apache CXF 的前身是叫Apache CeltiXfire,现在已经正式更名为Apache CXF 了,以下简称CXF。CXF继承了 Celtix 和 XFire 两大开源项目的精华,提供了对 JAX-WS全面的支持,并且提供了多种 Binding 、Data Binding、Transport 以及 Format的支持,并且可以根据实际项目的需要,采用 Code First 或者 WSDL First 来轻松地实现 Web Services 的发布和使用。

一、从http://cxf.apache.org/得到CXF的jar包支持

二、创建接口“HelloWorldService.java”:
package  org.yifeng.service;

public   interface  HelloWorldService  {
    String sayHi(String text);
}


三、实现接口”HelloWorldServiceImpl.java“:
package  org.yifeng.service.impl;

import  org.yifeng.service.HelloWorldService;

public   class  HelloWorldServiceImpl  implements  HelloWorldService  {
    
public String sayHi(String text) {
        
return "欢迎 " + text +",学习Apache CXF.";
    }

}


四、发布服务接口”Server.java“:
package  org.yifeng.server;

import  org.apache.cxf.frontend.ServerFactoryBean;
import  org.yifeng.service.HelloWorldService;
import  org.yifeng.service.impl.HelloWorldServiceImpl;


public   class  Server  {
    
public static void main(String[] args) {
        
        
// Create our service implementation
        HelloWorldServiceImpl helloWorldImpl = new HelloWorldServiceImpl();

        
// Create our Server
        ServerFactoryBean svrFactory = new ServerFactoryBean();
        svrFactory.setServiceClass(HelloWorldService.
class);
        svrFactory.setAddress(
"http://localhost:9000/Hello");
        svrFactory.setServiceBean(helloWorldImpl);
        svrFactory.create();
    }


}

 

五、创建Client,访问服务接口“Client.java”:

package  org.yifeng.client;

import  org.apache.cxf.frontend.ClientProxyFactoryBean;
import  org.yifeng.service.HelloWorldService;


public   class  Client  {
    
public static void main(String[] args) {
        
        ClientProxyFactoryBean factory 
= new ClientProxyFactoryBean();
        factory.setServiceClass(HelloWorldService.
class);
        factory.setAddress(
"http://localhost:9000/Hello");
        HelloWorldService client 
= (HelloWorldService) factory.create();
        System.out.println(client.sayHi(
"周大庆"));
    }


}

六、结果:
欢迎,周大庆 学习Apache CXF.

呵呵,简单吧,这就是WebService ,希望能给入门的朋友提供帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值