CXF入门例子
1、 WebService实现类:@WebService注解表示这个类发布为一个WebService服务。
package com.coshaho.learn.cxf; import javax.jws.WebService; /**
* WebService实现类不继承接口,则所有WebService相关注解需要写在实现类中
* @author coshaho
*
*/
@SuppressWarnings("restriction")
@WebService(name="HelloWoldService")
public class HelloWorldServiceImpl
{
public String sayHello(String username)
{
return "Hello " + username + "!";
}
}
2、发布服务。
package com.coshaho.learn.cxf; import org.apache.cxf.endpoint.Server;
import org.apache.cxf.jaxws.JaxWsServerFactoryBean; public class CXFServer
{
public static void main(String[] args)
{
JaxWsServerFactoryBean factoryBean = new JaxWsServerFactoryBean(); // Web服务的地址
factoryBean.setAddress("http://localhost:8081/hello"); // Web服务对象调用接口
factoryBean.setServiceClass(HelloWorldServiceImpl.class);
Server server = factoryBean.create();
server.start();
}
}
3、WebService客户端模拟接口:CXF客户端接口参数名称(@WebParam),方法名称(@WebMethod),返回值名称(@WebResult)需要与WebService服务端实现类或接口保持一致。
package com.coshaho.learn.cxf; import javax.jws.WebService; /**
* CXF客户端接口参数名称(@WebParam),方法名称(@WebMethod),返回值名称(@WebResult)需要与WebService服务端实现类或接口保持一致
* @author coshaho
*
*/
@SuppressWarnings("restriction")
@WebService
public interface HelloWoldClientServiceI
{
public String sayHello(String userName);
}
4、客户端调用WebService服务。
package com.coshaho.learn.cxf; import org.apache.cxf.jaxws.JaxWsProxyFactoryBean; public class CXFClient
{
public static void main(String[] args)
{
JaxWsProxyFactoryBean factoryBean = new JaxWsProxyFactoryBean(); //获取服务器端
factoryBean.setAddress("http://localhost:8081/hello"); //通过客户端的接口获取服务器端的接口
factoryBean.setServiceClass(HelloWoldClientServiceI.class);
HelloWoldClientServiceI hello =(HelloWoldClientServiceI) factoryBean.create();
System.out.println(hello.sayHello("CXF"));
}
}
5、如果服务端实现类继承于一个接口,则可以在接口中写明WebService相关注解,实现类省略注解。
package com.coshaho.learn.cxf; import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult; /**
* WebService实现类可以继承WebService接口,所有WebService相关注解写在接口中
* @author coshaho
*
*/
@SuppressWarnings("restriction")
@WebService(name="HelloWoldService")
public interface HelloWoldServiceI
{
@WebMethod(operationName="sayHelloWorld")
@WebResult(name="result")
public String sayHello(@WebParam(name="userName") String username);
}
CXF入门例子的更多相关文章
- 【Bootstrap Demo】入门例子创建
本文简单介绍下如何来使用 Bootstrap,通过引入 Bootstrap,来实现一个最基本的入门例子. 在前一篇博文[Bootstrap]1.初识Bootstrap 基础之上,我们完全可以更加方便快 ...
- 【Bootstrap】入门例子创建
本文简单介绍下如何来使用 Bootstrap,通过引入 Bootstrap,来实现一个最基本的入门例子. 在前一篇博文[Bootstrap]1.初识Bootstrap 基础之上,我们完全可以更加方便快 ...
- spring boot入门例子
最近学习spring boot,总结一下入门的的基础知识 1新建maven项目,修改pom.xml <project xmlns="http://maven.apache.org/PO ...
- CXF 入门:创建一个基于WS-Security标准的安全验证(CXF回调函数使用,)
http://jyao.iteye.com/blog/1346547 注意:以下客户端调用代码中获取服务端ws实例,都是通过CXF 入门: 远程接口调用方式实现 直入正题! 以下是服务端配置 ==== ...
- MINA经典入门例子----Time Server
原文地址 http://blog.sina.com.cn/s/blog_720bdf0501010b8r.html 貌似java的IO.NIO的入门例子都有相关的Time Server Demo.本例 ...
- 一个简单的iBatis入门例子
一个简单的iBatis入门例子,用ORACLE和Java测试 目录结构: 1.导入iBatis和oracle驱动. 2.创建类Person.java package com.ibeats;import ...
- JPA入门例子(采用JPA的hibernate实现版本) 转
JPA入门例子(采用JPA的hibernate实现版本) jpahibernate数据库jdbcjava框架(1).JPA介绍: JPA全称为Java Persistence API ,Java持久化 ...
- Cassandra 单机入门例子——有索引
入门例子: http://wiki.apache.org/cassandra/GettingStarted 添加环境变量并source生效,使得可以在任意位置执行cassandra/bin安装目录下的 ...
- Apache CXF入门
CXF简介 Apache CXF = Celtix + XFire,开始叫 Apache CeltiXfire,后来更名为 Apache CXF 了.CXF 继承了 Celtix 和 XFire 两大 ...
随机推荐
- 【BZOJ】1082: [SCOI2005]栅栏(二分+dfs)
http://www.lydsy.com/JudgeOnline/problem.php?id=1082 题意:n个给出木板,m个给出木板.可以将那m个木板锯成泥想要的长度.问最大能锯成多少个给出的n ...
- 【BZOJ】3039: 玉蟾宫(DP/单调栈)
http://www.lydsy.com/JudgeOnline/problem.php?id=3039 每次看到我的提交都有点淡淡的忧伤T_T.. 看到此题我想到用前缀和维护点ij向左和向上能拓展的 ...
- Linux_自动调整linux系统时间和时区与Internet时间同步
调整linux系统时间和时区与Internet时间同步 一.修改时区:# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime修改为中国的东八区# v ...
- java开源网站
1.http://www.java1234.com 2.http://www.2cto.com/Soft/
- ICursor查询后的排序问题
为某表做剔除整合处理,各行相关.起初使用 ICursor pCursor = pTable.Search(null,false); 语句查询,ICursor的第一行并没有指向表的第一行,虽然不是第一行 ...
- Json 数据
来自:极课学院 简介: json与xml json语法 json对象 json对象数组 用到的包 读取json数据例子 创建json数据
- Powershell连接Office 365各组件的方法
参考: http://www.exchangecn.com/office365/20150108_540.html 1. 适用于 IT 专业人员 RTW 的 Microsoft Online Serv ...
- MySql之JDBC环境
JAVA连接MySql数据库 JDBC对JAVA程序员而言是一套API "========" SQL语法 JDBC相关知识 jar命令的使用 异常的捕获和处理(Exception- ...
- freeswitch
FreeSWITCH 是一个电话的软交换解决方案,包括一个软电话和软交换机用以提供语音和聊天的产品驱动.FreeSWITCH 可以用作交换机引擎.PBX.多媒体网关以及多媒体服务器等.可以用作一个简单 ...
- [ZZ] D3D中的模板缓存(3)
http://www.cppblog.com/lovedday/archive/2008/03/25/45334.html http://www.cppblog.com/lovedday/ D3D中的 ...