CXF异步WebService发布和调用
原文地址:http://blog.csdn.net/d6619309/article/details/52694100 最近工作需要接触CXF异步webservice的发布和调用,在网上Google并捣鼓了好一阵子,总算成功了。毕竟这方面的资料比较少,自己总结一下写下这篇博文。本文将描述如何利用CXF来发布和调用异步的webservice,通过一个示例,带大家一步一步开发基于CXF的异步webservice及客户端调用程序。 【参考】
1.异步webservice简介异步webservice可以让客户端调用线程在调用webservice的时候不必阻塞等待服务端返回结果,在调用请求后快速返回,然后做其他想做的事情。 1.1 客户端异步调用方式(1) Callback 客户端通过实现 (2) Polling 客户端拿到 1.2 服务端异步调用的实现CXF提供了两种方法来响应客户端的异步webservice请求,包括: (1) Continuations CXF提供了API供开发者来创建并使用Continuation,关于continuation的详细介绍请查看以下链接: continuations in cxf (2) @UseAsyncMethod annotation 通过
如上所示,sayHello方法注解了@UseAsyncMethod,如果web容器支持异步调用,将会调用其对应的sayHelloAsync方法,如果不支持异步调用,那么将会调用同步的sayHello方法。 【注意】 CXF依赖于Web容器来发布webservice,必须确保Web容器支持异步机制才能使CXF发布的webservice成功处理来自客户端的异步请求。eg:通过Tomcat配置CXF发布webservice必须确保配置在web.xml的CXFServlet配置了async-supported为true 2. 示例通过发布一个HelloService异步webservice以及开发HelloClient来向大家说明基于CXF如何开发和调用异步的webservice。示例代码可以在我的github拉取:CXFTutorial 2.1 环境说明【软件环境】
【依赖库】
2.2 开发webservice接口及实现类2.2.1 开发HelloService接口
2.3 发布webservice2.3.1 配置cxf.xml通过spring配置CXF发布webservice的端口及地址
2.3.3 使用Tomcat加载应用完成以上步骤后通过Tomcat7加载应用,访问http://localhost:8080/CXFTutorial/services可以看到CXF发布的webservice  2.4 开发webservice客户端调用
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |