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 两大 ...
随机推荐
- CSS HTML链接去掉小手与增添小手
style="cursor: hand" crosshair:精确定位“十”字形: text:文本“I”形: wait:等待,“沙漏”形: default:默认指针: help:帮 ...
- 深度解析开发项目之 05 - 解决textField编辑之后点击其他内容改变的问题
深度解析开发项目之 05 - 解决textField编辑之后点击其他内容改变的问题 问题的解决: 只需要给HeadeVIew加上这句代码
- hdu Rescue
因为要求的是最少的时间,很明显的是一个利用优先队列的bfs的题目,题目很一般. #include"iostream" #include"algorithm" # ...
- Sublime之旅
安装 http://www.sublimetext.com/3 常用操作 window版本 CTRL + P 打开文件搜索 Ctrl+K+B 打开目录树 Ctrl+Shift+[ ...
- [排错] Status error 2850
前几天重新搭建了APAC的Netbackup, 终于可以备份成功了, 但是今天在做还原的时候遇到了些小问题,记录下来. 1. 在CNHZSRV04BPO上执行还原的时候报下面的错误. 2. 经过检查发 ...
- 解决main No MyBatis mapper was found in 的警告
在集成Spring + mybaits时出现以下警告 org.mybatis.spring.mapper.MapperScannerConfigurer$Scanner.main No MyBatis ...
- [办公自动化]skydrive onedrive
国内暂时无法访问onedrive,请按如下步骤操作尝试:依次如下:在开始菜单里,单击“所有程序”,找到“附件”,单击找到里面的“记事本”,右键,然后选择“以管理员身份运行”,如果有对话框,选择“是”. ...
- SqlServer 高版本数据库 降级
SQL Server2012 1 首先就来介绍一下SQL Server2012数据库的降级方法,成功之后突然感觉很简单,但是没成功之前很郁闷.废话少说,直接开始. 打开SQL Server2012,连 ...
- OneDrive无法正常登录
可能是DNS被污染 手动设置DNS 134.170.108.26 onedrive.live.com134.170.108.152 skyapi.onedrive.live.com
- fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include <windows.h>
给对话框添加类, 报错 CalibrateMFCDlg.h(6) : error C2504: “CDialog”: 未定义基类 等多个错误 加上 #include "afxwin.h&qu ...