CXF webservice完整例子
Web Service技术应用广泛,可实现不同平台的数据交换,现做了一个CXF webservice小例子,供webservice初学者参考.
1.环境搭建
1.1 下载 Apache CXF 可以去官方下载 http://cxf.apache.org/ 。也可点击http://pan.baidu.com/s/1jIPyOYU 我分享的云盘下载(apache-cxf-2.4.2). 解压文件
1.2 配置Apache CXF环境变量: 创建一个CXF_HOEM变量,值为CXF框架所在根目录
在path中添加CXF_HOEM变量
1.3 创建java项目 引入 D:\work\apache-cxf-2.4.2\lib 目录下的jar包
2.代码编写
2.1 创建IHelloService.java 接口
package com.service;import javax.jws.WebParam; import javax.jws.WebService;@WebService public interface IHelloService {public String sayHello(@WebParam(name = "text") String text);public User getUser(String id); }
View Code
2.2 创建HelloServiceImpl.java实现 IHelloService 接口
package com.service;import java.util.Date;import javax.jws.WebService;@WebService(endpointInterface = "com.service.IHelloService", serviceName = "HelloWorld") public class HelloServiceImpl implements IHelloService {@Overridepublic String sayHello(String text) {return "Hello x " + text;}@Overridepublic User getUser(String id) {User u = new User();u.setId(id);u.setAge(10);u.setName("小明");u.setBirthday(new Date(new Date().getTime() - 10 * 12 * 30 * 24 * 3600));return u;}}
View Code
2.3 编写 webServiceApp.java类来暴露 web服务
package com.service;import javax.xml.ws.Endpoint;public class WebServiceApp {public static void main(String[] args) {System.out.println("web service start");HelloServiceImpl implementor = new HelloServiceImpl();String address = "http://localhost:8080/HelloService";Endpoint.publish(address, implementor);System.out.println("web service started");} }
View Code
2.4 run webServiceApp.java 类来启动服务。 访问 http://localhost:8080/HelloService?wsdl 查看是否成功
2.5 编写客户端访问服务
======== 方法1:
创建客户端的代理,生成factory对象,用于调用服务端的方法
package com.service;import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;public class HelloServiceClient {public static void main(String[] args) {JaxWsProxyFactoryBean svr = new JaxWsProxyFactoryBean();svr.setServiceClass(IHelloService.class);svr.setAddress("http://localhost:8080/HelloService");IHelloService hw = (IHelloService) svr.create();System.out.println(hw.sayHello("你好"));User u = hw.getUser("1");System.out.println(u.getName());} }
======== 方法2:
通过命令自动生成客户端文件
法一. 1.cmd 进入doc窗口,
2.用 wsimport -s D:\ -p com.client http://localhost:8080/HelloWorld?wsdl (不用安装apache-cxf客户端)命令生成
法二.
1. cmd 进入doc窗口, 进入apache-cxf-2.4.2\bin路径
2. 运行 wsdl2java -frontend jaxws21 -p com.client -d D:\ -client -autoNameResolution http://localhost:8080/HelloWorld?wsdl 会在D盘生成 com\client文件夹,里面有生成号的客户端文件。将文件拷贝到项目中
3. 调用接口
package com.main;import com.client.HelloWorld; import com.client.IHelloService;public class ClientMain {public static void main(String[] args) {HelloWorld factory = new HelloWorld();IHelloService hw = factory.getHelloServiceImplPort();System.out.println(hw.sayHello("sss"));System.out.println(hw.getUser("11").getName());} }
下面链接可下载上述源码
http://pan.baidu.com/s/1kUZVZHt 希望能帮到你
转载于:https://www.cnblogs.com/lovedaodao/p/6946374.html
CXF webservice完整例子相关推荐
- CXF WebService整合SpringMVC的maven项目
首先推荐博客:http://www.cnblogs.com/xdp-gacl/p/4259481.html http://blog.csdn.net/hu_shengyang/article/de ...
- CXF WebService整合Spring
CXF WebService整合Spring 首先,CXF和spring整合需要准备如下jar包文件: 这边我是用Spring的jar包是Spring官方提供的,并没有使用CXF中的Spring的ja ...
- 《转》CXF WebService 开发文档-目录索引
CXF WebService 开发文档-目录索引 上次介绍了Axis的WebService,现在我们来看看CXF是怎么完成WebService的. Axis1 WebService 在线博文: htt ...
- jquery中ajax完整例子get,jq的ajax方法,jquery中ajax完整例子
jq的ajax方法,jquery中ajax完整例子 相较与js异步对象的繁琐,jq的ajax对象结构更加清晰 一:ajax对象简述 ajax(Asynchronous JavaScript and X ...
- CXF WebService 开发文档-目录索引
上次介绍了Axis的WebService,现在我们来看看CXF是怎么完成WebService的. Axis1 WebService 在线博文: http://www.cnblogs.com/hoojo ...
- cxf调用接口的几种方式_Java调用CXF WebService接口的两种方式实例
1.静态调用 // 创建WebService客户端代理工厂 JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); // 判断是否抛出 ...
- cxf webservice:异常SOAPFaultException: Unexpected wrapper element found解决
cxf webservice:异常SOAPFaultException: Unexpected wrapper element found解决 参考文章: (1)cxf webservice:异常SO ...
- cxf webservice接收date类型字段值为空导致异常问题解决方案
cxf webservice接收date类型字段值为空时,后台会报错.原因是cxf没有很好处理空值的情况. 解决方案 自定义date字段的转换方式.以springboot cxf 为例.涉及以下三点改 ...
- SOAP方式的CXF WebService实现
1. WebService概述 1.1 WebService定义 W3C组织对其的定义如下,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计.Web Service服务通常被定义为一组 ...
- Spring整合CXF webservice restful 实例
webservice restful接口跟soap协议的接口实现大同小异,只是在提供服务的类/接口的注解上存在差异,具体看下面的代码,然后自己对比下就可以了. 用到的基础类 User.java [源码 ...
最新文章
- 管理大师基本功:目标拆解能力
- mysql栈空间大小_jvm 堆内存 栈内存 大小设置
- 搭建discuz论坛
- DSP关于存储器读写、IO读写时序图的注意点
- .NET 面向对象基础
- python基础字典(七)
- linux-网络数据包抓取-tcpdump
- Asp.net上传文件至目录
- 减少.NET应用程序内存占用的一则实践
- 计算机简单进制转换题目,计算机数制转换题!(1011011)2 =( )10=( )16 =( )8(110111101)2 =( )10=(...
- HTML与css语法笔记
- 等级保护三级信息系统安全设计
- wxpy 扫码登录微信报错 KeyError: pass_ticket(网页版微信登录失败)
- 网件r7000梅林系统虚拟内存创建失败,提示USB磁盘读写速度不满足要求解决办法,有需要创建虚拟内存吗??
- Django Q查询
- vue移动端上传文件插件_轻量级Vue图片上传插件——Vue-core-image-Upload
- JAVA生成纯色背景图-自定义大小-自定义颜色
- 批量下载文件,打包成zip压缩包
- http状态码有哪些 ,表示了什么
- 昆仑通态直接用485Modbus通讯控制国产380系统变频器