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】1603: [Usaco2008 Oct]打谷机(水题+dfs)
http://www.lydsy.com/JudgeOnline/problem.php?id=1603 这种水题... dfs没话说.. #include <cstdio> #inclu ...
- BZOJ4408: [Fj Winter Camp 2016]神秘数
Description 一个可重复数字集合S的神秘数定义为最小的不能被S的子集的和表示的正整数.例如S={1,1,1,4,13}, 1 = 1 2 = 1+1 3 = 1+1+1 4 = 4 5 = ...
- C语言根据日期(年,月,日)判断星期几(使用基姆拉尔森计算公式)
C语言根据日期判断星期几(使用基姆拉尔森计算公式) 算法如下: 基姆拉尔森计算公式W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7 在公式中d表示日期中的日数, ...
- EnableViewState=“false”不能乱用啊
有时候页面源文件里有一段看上去像乱码的代码,这时候为了加快页面的加载速度,可以使用EnableViewState=“false”,这时候页面上的乱码就会消失了.但是,关于这个问题作者郁闷了好久,之前为 ...
- JS来操作hover
hover我们可以用css的方式写,当然,也可以用js的方式写 <html> <head> <title>js的下拉菜单效果</title> <s ...
- android之数据库SQLite(一)
创建数据库 首先定义SQLiteOpenHelper的子类 代码如下: package com.example.myandroid; import android.content.Context; i ...
- vb.net-三种将datagridview数据导出为excel文件的函数
第一种方法较慢,但是数据格式都比较好,需要引用excel的 Microsoft.Office.Interop.Excel.dll office.dll #Region "导出excel函数 ...
- Sql Group by 使用
CREATE TABLE StuCourseScore ( ID int, Name nvarchar(10), Course nvarchar(10), Score int ) INSERT Stu ...
- 【转】JavaScript顶级对象参考模型
- Hrbustoj 2252 完全背包
一个变形的完全背包 题是第一次团队赛的热身题...看别人博客看到这道题忽然就不会了 然后想了半天还是没想出来...上oj找了提交排名..发现自己弄出来的奇怪的办法居然用时最短... 问装m最低要多少的 ...