CXF 生成Web Service Client(将WSDl 转化成 Java代码)

CXF 是什么?

Apache CXF一个开源的Service框架,它实现了JCP与Web Service中一些重要标准。CXF简化了构造,集成,面 向服务架构(SOA)业务组件与技术的灵活复用。在CXF中,Service使用WSDL标准定义并能够使用各种不同的消息 格式(或binding)和网络协议(transports)包括SOAP、XML(通过HTTP或JMS)进行访问。CXF同样支持多种model 如:JAX-WS,JBI,SCA和CORBA service。CXF设计成可灵活部署到各种容器中包括Spring-based,JBI,SCA, Servlet和J2EE容器。

CXF 与 Axis2的异同

Apache CXF Web 服务堆栈是来自 Apache Software Foundation 的另一替代选择,Axis2 堆栈也来自同一组织。尽管它们来自同一组织,Axis 2 和 CXF 就如何配置和交付 Web 服务采用完全不同的方法。

相对Axis2来说, CXF 与Spring 的整合会更容易一些。

下载CXF

CXF 项目的主页地址是:

http://cxf.apache.org/

下载地址是:

http://cxf.apache.org/download.html

可以下载 解压版也可以下载安装版的。 具体的下载页面如下:

这里下载解压版就可以了。

下载镜像地址:  http://mirror.bit.edu.cn/apache/cxf/3.0.1/apache-cxf-3.0.1.zip

解压后的目录结构如下:

bin目录下: 包含有一些 bat 的工具, 比如 wsdl2java.bat 可以把 wsdl 转化为java 代码。

lib 目录下有cxf 使用的一些jar 包, 在实际开发中在项目中要导入这些jar 包

其他的目录就不需要多介绍了。

使用CXF产生client 代码的步骤

如果现在有一个wsdl 服务的地址:  http://xxxx/xx?wsdl

在命令行模式下输入:

wsdl2java.bat  -p com.oscar999  -client -encoding utf-8 -noAddressBinding  http://xxxx/xx?wsdl

就可以产生代码了。

说明:

1.  注意命令行模式切换到 wsdl2java.bat 所在的目录(如果不是, 要写 .bat 所在的全路径)

2. -p 后面配置的是代码所在的包名

产生出来的有个类名比较长的以 _Client 结尾的java 文件 就是调用的测试文件, 里面包含 main 方法。

如果在eclipse 测试的话, 可以新建 一个java project, 把cxf lib 下所有的 jar 拷入到 项目的lib 路径下, 并放入build path 中。

然后把产生的java 文件,拷入到src 中就可以调用测试了。

时间: 2024-10-11 03:55:20

CXF 生成Web Service Client(将WSDl 转化成 Java代码)的相关文章

Web Service学习-CXF开发Web Service实例demo(一)

Web Service是什么? Web Service不是框架.更甚至不是一种技术. 而是一种跨平台,跨语言的规范 Web Service解决什么问题: 为了解决不同平台,不同语言所编写的应用之间怎样调用问题.比如.有一个C语言写的程序.它想去调用java语言写的某个方法. 集中解决:1,远程调用 2.跨平台调用 3,跨语言调用 实际应用: 1.同一个公司的新,旧系统的整合.Linux上的java应用,去调用windows平台的C应用 2,不同公司的业务整合.业务整合就带来不同公司的系统整合.不

使用CXF开发Web Service服务

1.使用CXF开发Web Service服务端 1.1 开发一个Web Service业务接口,该接口要用@WebService修饰 (1)创建一个Java项目MyServer (2)在MyServer项目中创建一个接口HelloWorld package com.xju.ws; import javax.jws.WebService; @WebService public interface HelloWorld { String sayHello(String name); } 1.2 开发

Apache CXF实现Web Service(2)——不借助重量级Web容器和Spring实现一个纯的JAX-RS(RESTful) web service

实现目标 http://localhost:9000/rs/roomservice 为入口, http://localhost:9000/rs/roomservice/room为房间列表, http://localhost:9000/rs/roomservice/room/001/ 为001号房间的信息, http://localhost:9000/rs/roomservice/room/001/person 为在001号房间主的人的列表 在Eclipse中新建一个Java Project (可

现有Web Service Client使用Microsoft WSE 2.0

我安装了WSE 2.0 SP3,Setup Type选择Runtime.如果想要让Visual Studio 2005以上版本集成WSE需稍费周折,默认集成Visual Studio 2005. 1.引用Microsoft.Web.Services2.dll. 2.修改Visual Studio自动生成的Web Service Client,继承Microsoft.Web.Services2.WebServicesClientProtocol(如果Update Web Reference需要再次

Apache CXF实现Web Service(4)——Tomcat容器和Spring实现JAX-RS(RESTful) web service

准备 我们仍然使用 Apache CXF实现Web Service(2)——不借助重量级Web容器和Spring实现一个纯的JAX-RS(RESTful) web service 中的代码作为基础,并引入spring来进行RESTful web service的配置和管理. 项目目录结构如下图 首先我们要在web.xml中加入通过Spring的ContextLoaderListener加载的Spring运行时环境以及CXF的Spring配置文件 web.xml <?xml version="

Apache CXF实现Web Service(3)——Tomcat容器和不借助Spring的普通ServletJAX-RS(RESTful) web service

起步 参照这一系列的另外一篇文章: Apache CXF实现Web Service(2)——不借助重量级Web容器和Spring实现一个纯的JAX-RS(RESTful) web service 首先在eclipse中新建一个Dynamic Web Project,然后实现上篇文章中的所有类,唯一不同的是这里,我们不需要一个Server.java来启动一个Web Service.我们用CXF自带的org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServ

java中调用kettle作业以及生成web service 接口

第一步:(前提将kett中lib下的所有jar包拷贝到java项目lib目录)创建并连接资源库,如果只用这一个工作空间,可以将此段代码放入静态代码块,代码如下: KettleEnvironment.init(); //创建资源库对象,此时的对象还是一个空对象 KettleDatabaseRepository repository = new KettleDatabaseRepository(); //创建资源库数据库对象,类似我们在spoon里面创建资源库 //(数据库连接名称,数据库类型,连接

WSDL自动生成Web Service java 客户端

引用: 最近做系统间数据导入导出时需要用到web service,所以需要通过wsdl生成java客户端来读取数据. 方法一: 使用xfire eclipse plugin生成java客户端 1 安装xfire eclipse plugin,update site: Java代码   http://dist.codehaus.org/xfire/update/ 2 新建java project: WSTest. 我们用一个免费的web service服务做测试. 这是个手机号码归属地查询的wsd

Web Service学习-CXF开发Web Service的权限控制(二)

Web Service如何进行权限控制? 解决思路:服务器端要求input消息总是携带有用户名,密码信息,如果没有用户名和密码信息,直接拒绝调用 解决方案:拦截器 为了让程序员能访问,并修改CXF框架所生成的SOAP消息,CXF提供了拦截器 CXF(Celtix +XFire)说明: 如果不用CXF等框架,SOAP消息的生成,解析都是由程序员负责.无论是添加用户名,密码信息还是提取用户名,密码信息,都可由程序员代码完成. 如果使用CXF等框架,SOAP消息的生成,解析都是由CXF等框架来完成.