CXF入门例子
2016-01-06 14:05
176 查看
1、 WebService实现类:@WebService注解表示这个类发布为一个WebService服务。
2、发布服务。
3、WebService客户端模拟接口:CXF客户端接口参数名称(@WebParam),方法名称(@WebMethod),返回值名称(@WebResult)需要与WebService服务端实现类或接口保持一致。
4、客户端调用WebService服务。
5、如果服务端实现类继承于一个接口,则可以在接口中写明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); }
相关文章推荐
- java模拟http发送请求与接受返回数据
- 电脑蓝屏重启后,studio无法认出Android环境 setup JDK
- java实现随机验证码的图片
- Sicily 1620. SCVs and minerals 星际争霸简单策略
- linux 命令 —-— bzip2
- ALOHA协议简介
- js传值之乱码解决
- android 更新SDK 代理设置
- UIImage 图片处理:截图,缩放,设定大小,存储
- 数据结构与算法——二分查找算法
- js之闭包
- mac下使用sshpass实现ssh记住密码
- 线程通信(2)
- Swift2.0之guard语句
- linux screen 命令详解
- 三目运算
- 编程的智慧
- gulp学习笔记2-安装
- Linux学习之挂载操作
- WAMP多站点配置