cxf实现webservice

Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构。它允许创建高性能和可扩展的服务,您可以将这样的服务部署在 Tomcat 和基于 Spring 的轻量级容器中,以及部署在更高级的服务器上,例如 Jboss、IBM WebSphere 或 BEA WebLogic。

简单介绍入门教程,也为自己记录下。

(1)下载cxf包,http://cxf.apache.org/download.html,我这里用的是2.4.0的包

导入lib中的所有jar包,推荐使用library方式

(2)编写webservice接口类,接口实现类如下

接口需要指定annotation

@WebService
public interface IHello {
	public String sayHi(String name);
    
	public String printName(String name);
}

编写上述接口的实现类,annotation指定了endpointInterface与serviceName

@WebService(endpointInterface="com.xj.service.IHello",serviceName="hello1Service")
public class HelloImpl implements IHello{

	@Override
	public String sayHi(String name) {
		System.out.println("hi,"+name);
		return "hi,"+name;
	}

	@Override
	public String printName(String name) {
		System.out.println("my name is,"+name);
		return "my name is,"+name;
	}

}

(3)编写服务端,并启动

public class RunServer {

	public static void main(String[] args) {
		IHello hello = new HelloImpl();
		Endpoint.publish("http://localhost/cxf/hello", hello);
		System.out.println("启动server端");
	}

}

此处同样采用的是endpoint来发布该服务,当然也可以使用JaxWsServerFactoryBean

运行main方法,访问http://localhost/cxf/hello?wsdl 可以看到该服务的wsdl文件

(4)编写客户端

public class RunClient {

	public static void main(String[] args) {
		JaxWsProxyFactoryBean proxy = new JaxWsProxyFactoryBean();
		proxy.setServiceClass(IHello.class);
		proxy.setAddress("http://localhost/cxf/hello?wsdl");
		IHello hello = (IHello)proxy.create();
		System.out.println(hello.sayHi("xiejun"));
		System.out.println(hello.printName("xiexie"));
	}

}

使用JaxWsProxyFactoryBean创建代理,指定service类,指定wsdl地址,

调用代理类的create方法,即可访问所有方法

时间: 2024-10-10 23:58:11

cxf实现webservice的相关文章

Apache CXF实现WebService入门教程(附完整源码)

Apache CXF实现WebService非常简单实用,只需要几步就可以实现一个简单的web service. 首先我们需要新建一个maven项目,在pom中添加依赖和jetty作为测试的web service的web容器. 如下是测试用到的pom文件内容: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&qu

CXF创建webservice客户端和服务端

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本人声明.否则将追究法律责任. 作者: 永恒の_☆ 地址: http://blog.csdn.net/chenghui0317/article/details/9320053 一.CXF的介绍 Apache CXF是一个开源的WebService框架,CXF大大简化了Webservice的创建,同时它继承了XFire的传统,一样可以和spring天然的进行无缝的集成.CXF框架是一种基于servlet技术的SOA应用开发

构建基于CXF的WebService服务(3)-- 利用拦截器实现权限验证

CXF中的拦截器分为in拦截器和out拦截器,又有客户端拦截器和服务端拦截器. 拦截器使用流程:客户端(out)-> 服务端(in)->处理业务->服务端(out)->客户端(in),并不是每一步都需要拦截器.在这里我们用到的是客户端Out拦截器和服务端in拦截器.服务端in拦截器检查用户级权限,客户端out浏览器发送用户信息给服务端. 1.创建服务端验证 JaxWsServerFactoryBean或Endpoint都可以通过getInInterceptors方法,向WebSer

基于Spring和CXF的webservice开发环境搭建

使用CXF发布webservice服务时,规范的做法是先书写一个接口,用以声明服务类型. 基于Spring和CXF开发web service的框架搭建 一.创建web项目 Eclipse中新建一个dynamic webproject,命名为:CXFTest 二.导入需要的jar包 把下载的CXF项目的解压缩文件中lib文件夹下的所有jar包拷贝到WebContent->WEB-INF->lib文件夹下 三.创建服务接口 在Java resource->src目录下新建package包:c

Apache CXF实现WebService开发(一)

Apache CXF简介 Apache CXF 是一个开源的 Services 框架,CXF 帮助您利用 Frontend 编程 API 来构建和开发 Services ,像 JAX-WS .这些 Services 可以支持多种协议,比如:SOAP.XML/HTTP.RESTful HTTP 或者 CORBA ,并且可以在多种传输协议上运行,比如:HTTP.JMS 或者 JBI,CXF 大大简化了 Services 的创建,同时它继承了 XFire 传统,一样可以天然地和 Spring 进行无缝

WebService开发笔记 1 -- 利用cxf开发WebService竟然如此简单

现在的项目中需要用到SOA概念的地方越来越多,最近我接手的一个项目中就提出了这样的业务要求,需要在.net开发的客户端系统中访问java开发的web系统,这样的业务需求自然需要通过WebService进行信息数据的操作.下面就将我们在开发中摸索的一点经验教训总结以下,以供大家参考. 我们项目的整个架构使用的比较流行的WSH MVC组合,即webwork2 + Spring + Hibernate; 1.首先集成Apacha CXF WebService 到 Spring 框架中; apache

构建基于CXF的WebService服务(2)-- 利用CXF提供的wsdl2java工具创建客户端

1.环境配置 将CXF_HOME/bin加入到环境变量path中,如我的是D:\Java\Jar\apache-cxf-2.7.7\bin 打开cmd输入 wsdl2java -v 出现如下信息表示配置成功 2.wsdl2java的使用 (1)创建一个"Java Project"项目,暂且命名为client,将CXF用到的jar包引入进来,去掉jetty相关包,加入geronimo-jaxws_2.2_spec-1.1.jar包 (2)打开命令行工具,将目录切换到client项目中的s

2.1.3版cxf配置webservice备忘

以前用cxf配置webservice一直都很顺利,结合spring进行管理和注入都非常方便.近来公司需要在老框架上加入webservice,ssh的框架还是十年前的东西,新一点的cxf版本根本无法配置启动.无奈版本一直降低到了2.1.3才能正常使用.就是这么个低版本的配置让人栽了个大跟头. 配置这块其实很简单. web.xml里要加载cxf的配置 同样是web.xml里,要配置servlet,以及监听的路径. 看看cxf的配置文件,真正的坑在这里. <?xml version="1.0&q

webservice 之 使用cxf开发WebService服务器端接口

摘要:webservice 不是一种新技术,它是一种跨平台,跨语言的规范,用于不同平台,不同语言开发应用之间的交互. cxf:是java主流的WebService实现框架. 接下来开始 使用cxf开发WebService服务器端接口 1.新建一个maven项目: 2. 项目用jdk1.7(因为1.7有webservice的默认实现)项目结构如: 3. 首先新建接口,HelloWorld.java: package com.wh.webservice; import javax.jws.WebSe

Apache CXF实现WebService开发(二)

本文我们将承接上文Apache CXF实现WebService开发(一) http://blog.csdn.net/mahoking/article/details/41631993.完成将我们开发的WebService与我们的Web项目部署到同一个容器内例如Tomcat或JBOSS或其他的.本例我们使用的CXF的版本为apache-cxf-2.6.16.所使用是的相关jar包(文件)和文件所在的路径为: /CXFWebServer/WebRoot/WEB-INF/lib/commons-log