构建基于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项目中的src目录下

(3)在cmd中输入 wsdl2java http://localhost:8080/hello?wsdl 回车,稍等一会儿出现下面的画面,表示创建成功

(4)在MyEclipse中选中项目,点击刷新,就可以看到wsdl2java自动为我们创建的类了

(5)这时项目中有错误,是因为java自带的包与geronimo-jaxws_2.2_spec-1.1.jar冲突导致的,这是需要调整一下jar的优先级,让项目优先加载我们自己导入的包

(6)打开项目目录下的.classpath文件将<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>移到我们引入的jar的最下面,然后再刷新项目就可以了

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
	<classpathentry kind="src" path="src"/>
	<classpathentry kind="lib" path="lib/asm-3.3.1.jar"/>
	<classpathentry kind="lib" path="lib/commons-codec-1.7.jar"/>
	<classpathentry kind="lib" path="lib/commons-collections-3.2.1.jar"/>
	<classpathentry kind="lib" path="lib/commons-lang-2.6.jar"/>
	<classpathentry kind="lib" path="lib/commons-logging-1.1.1.jar"/>
	<classpathentry kind="lib" path="lib/cxf-2.7.7.jar"/>
	<classpathentry kind="lib" path="lib/geronimo-servlet_3.0_spec-1.0.jar"/>
	<classpathentry kind="lib" path="lib/neethi-3.0.2.jar"/>
	<classpathentry kind="lib" path="lib/stax2-api-3.1.1.jar"/>
	<classpathentry kind="lib" path="lib/woodstox-core-asl-4.2.0.jar"/>
	<classpathentry kind="lib" path="lib/wsdl4j-1.6.3.jar"/>
	<classpathentry kind="lib" path="lib/xmlschema-core-2.0.3.jar"/>
	<classpathentry kind="lib" path="lib/geronimo-jaxws_2.2_spec-1.1.jar"/>
	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
	<classpathentry kind="output" path="bin"/>
</classpath>

3、创建客户端

package com.tiamaes.webservice.client;

import com.tiamaes.webservice.test.impl.HelloWorldService;

/**
 * <p>类描述:  客户端调用代码</p>
 * <p>修改人:王成委 </p>
 * <p>修改时间:2014-5-12 上午09:29:21  </p>
 * @version
 */
public class HelloWorldClient {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		HelloWorldService serviceFactory = new HelloWorldService();
		com.tiamaes.webservice.test.HelloWorldService service =
			serviceFactory.getHelloWorldServiceImplPort();

		String result = service.syaHello("Jaune");
		System.out.println(result);
	}

}

以上就是客户端调用的代码,CXF自动生成的代码中HelloWorldService接口跟工厂类名称相同,如果看着不爽可以自己改下。

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

时间: 2024-10-06 00:16:07

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

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

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

构建基于CXF的WebService服务(1)--创建HelloWorld服务

1.Apache CXF简介 Apache CXF = Celtix+ XFire,开始叫 Apache CeltiXfire,后来更名为 Apache CXF 了,以下简称为 CXF.CXF 继承了 Celtix 和XFire 两大开源项目的精华,提供了对 JAX-WS全面的支持,并且提供了多种Binding .DataBinding.Transport 以及各种 Format 的支持,并且可以根据实际项目的需要,采用代码优先(Code First)或者 WSDL 优先(WSDL First)

【转】构建基于CXF的WebService服务

构建基于CXF的WebService服务 Apache CXF = Celtix+ XFire,开始叫 Apache CeltiXfire,后来更名为 Apache CXF 了,以下简称为 CXF.CXF 继承了 Celtix 和XFire 两大开源项目的精华,提供了对 JAX-WS全面的支持,并且提供了多种Binding .DataBinding.Transport 以及各种 Format 的支持,并且可以根据实际项目的需要,采用代码优先(Code First)或者 WSDL 优先(WSDL

搭建web项目结合spring+cxf的webservice服务

服务端: 服务端和客户端都需要引入包 1 antlr-2.7.7.jar 2 aopalliance-1.0.jar 3 asm-3.3.jar 4 commons-collections-3.2.1.jar 5 commons-lang-2.6.jar 6 commons-logging-1.1.1.jar 7 cxf-2.4.2.jar 8 cxf-manifest.jar 9 cxf-xjc-boolean-2.4.0.jar 10 cxf-xjc-bug671-2.4.0.jar 11

cxf发布 webservice服务

导包 antlr-2.7.7.jar aopalliance-1.0.jar asm-3.3.jar commons-collections-3.2.1.jar commons-lang-2.6.jar commons-logging-1.1.1.jar cxf-2.4.2.jar cxf-manifest.jar cxf-xjc-boolean-2.4.0.jar cxf-xjc-bug671-2.4.0.jar cxf-xjc-dv-2.4.0.jar cxf-xjc-ts-2.4.0.ja

spring + cxf 的webservice服务端和客户端功能

原文:spring + cxf 的webservice服务端和客户端功能 源代码下载地址:http://www.zuidaima.com/share/1550463730928640.htm spring + cxf 的webservice服务端和客户端功能. 提供页面调用ws和java代码调用两种方式. 引用jar包请下载:http://pan.baidu.com/s/1jGog2WI

使用CXF发布webservice服务及注意要点

一.概念 1.什么是webservice Web service是一个平台独立的,低耦合的,自包含的.基于可编程的web的应用程序,可使用开放的XML标准来描述.发布.发现.协调和配置这些应用程序,用于开发分布式的互操作的应用程序. 2.wsdl 网络服务描述语言是一个用来描述Web服务和说明如何与Web服务通信的XML(标准通用标记语言的子集)语言.为用户提供详细的接口说明书. 3.soap 简单对象访问协议是交换数据的一种协议规范,是一种轻量的.简单的.基于XML(标准通用标记语言下的一个子

jfinal集成spring cxf做webservice服务

链接地址:http://zhengshuo.iteye.com/blog/2154047 废话不说,直接上代码 新增cxf的plugin CXFPlugin Java代码   package com.jfinal.plugin.spring; import org.apache.cxf.Bus; import org.apache.cxf.bus.spring.SpringBusFactory; import org.apache.cxf.transport.servlet.ServletTra

使用cxf实现webService服务

本人第一次写文章,各种工具使用还不熟悉,在编写过程中也出现不少问题.这里,不会深入到为什么,只是将用代码加文字描述把一个webService的创建到使用以及与spring的整合叙述一下,也希望大神们多多指教. 1.首先看下webService的目录结构. 1)HelloWorldClient这个是用于前期测试使用.后面会从新创建一个项目作为客户端调用service. 2)pojo,实体类,这个相信有一点基础的人都知道是干嘛的,不再叙述. 3)webServiceApp用于前期未引入spring进