博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cxf实现webservice
阅读量:6865 次
发布时间:2019-06-26

本文共 1743 字,大约阅读时间需要 5 分钟。

  Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构。它允许创建高性能和可扩展的服务,您可以将这样的服务部署在 Tomcat 和基于 Spring 的轻量级容器中,以及部署在更高级的服务器上,例如 Jboss、IBM WebSphere 或 BEA WebLogic。

简单介绍入门教程,也为自己记录下。

(1)下载cxf包,

        网盘地址如下:http://yun.baidu.com/share/link?shareid=564842495&uk=2836507213

        导入lib中的所有jar包,推荐使用library方式

(2)编写webservice接口类,接口实现类如下


接口需要指定annotation

1
2
3
4
5
6
@WebService
public 
interface 
IHello {
    
public 
String sayHi(String name);
     
    
public 
String printName(String name);
}

编写上述接口的实现类,annotation指定了endpointInterface与serviceName

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@WebService
(endpointInterface=
"com.xj.service.IHello"
,serviceName=
"hello1Service"
)
public 
class 
HelloImpl 
implements 
IHello{
 
    
@Override
    
public 
String sayHi(String name) {
        
System.out.println(
"hi,"
+name);
        
return 
"hi,"
+name;
    
}
 
    
@Override
    
public 
String printName(String name) {
        
System.out.println(
"my name is,"
+name);
        
return 
"my name is,"
+name;
    
}
 
}

  

(3)编写服务端,并启动

1
2
3
4
5
6
7
8
9
public 
class 
RunServer {
 
    
public 
static 
void 
main(String[] args) {
        
IHello hello = 
new 
HelloImpl();
        
Endpoint.publish(
"http://localhost/cxf/hello"
, hello);
        
System.out.println(
"启动server端"
);
    
}
 
}

此处同样采用的是endpoint来发布该服务,当然也可以使用JaxWsServerFactoryBean

运行main方法,访问 可以看到该服务的wsdl文件

(4)编写客户端

1
2
3
4
5
6
7
8
9
10
11
12
public 
class 
RunClient {
 
    
public 
static 
void 
main(String[] args) {
        
JaxWsProxyFactoryBean proxy = 
new 
JaxWsProxyFactoryBean();
        
proxy.setServiceClass(IHello.
class
);
        
proxy.setAddress(
"http://localhost/cxf/hello?wsdl"
);
        
IHello hello = (IHello)proxy.create();
        
System.out.println(hello.sayHi(
"xiejun"
));
        
System.out.println(hello.printName(
"xiexie"
));
    
}
 
}

使用JaxWsProxyFactoryBean创建代理,指定service类,指定wsdl地址,

 调用代理类的create方法,即可访问所有方法

     本文转自布拉君君 51CTO博客,原文链接:http://blog.51cto.com/5148737/1606249,如需转载请自行联系原作者

你可能感兴趣的文章
web前端开发工程师必备技能
查看>>
我的友情链接
查看>>
c#中的get和set
查看>>
WPF-002 下拉列表的简单实现
查看>>
企业IT管理体系可借助于业界的最佳实践和标准
查看>>
JavaScript常用数组操作方法,包含ES6方法
查看>>
jsp 获取请求url
查看>>
asp.net menu 控件样式 范例(转载)
查看>>
select选择框 选择第一个无法触发onchange事件的解决办法
查看>>
ubuntu 下配置 eclipse + java + adt 开发环境
查看>>
庞岩老师的感想day0926
查看>>
java的流控制学习笔记
查看>>
linux下echo命令详解
查看>>
colorful i106q装安卓系统
查看>>
ASP.NET 使用js插件出现上传较大文件失败的解决方法(ajaxfileupload.js第一弹)
查看>>
我的友情链接
查看>>
CentOS 7升级内核
查看>>
下载上传文件命令rz和sz
查看>>
Mysql安装:/bin/rm: cannot remove `libtoolt': No such file or directory
查看>>
夜已深,为何身体没有困意!
查看>>