`
yianpuodiaotu
  • 浏览: 241540 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

调用CXF工具 生成 WSDL

    博客分类:
  • JEE
阅读更多

在做WebService的时候,生成WSDL是必不可少的一步。我们通常使用的工具就是Axis和CXF。

CXF提供了一个命令行工具,可以通过命令来生成Java to WSDL,也可以由WSDL生成Java类。

 

本文不讲解CXF的工具使用,只考虑我们在java程序中如何调用该工具来生成java代码,这种运用情形在插件开发中是常见的。

 

思路:

1.首先考虑到:Runtime.getRutime().excut(String[]),

经过简单测验,我没有通过,总是有错。暂时否决。

 

2.查询CXF java 2 WSDLAPI:找到类 org.apache.cxf.tools.java2ws.JavaToWS.

这个类就是CXF命令行工具的执行类,找到它就好解决了。简单代码如下:

JavaToWS javaToWS = new JavaToWS(args);
try {
    javaToWS.run();
} catch (Exception e) {
    e.printStackTrace();
}

 运行,成功!

 

附件具体测试类:

package com.test.java2wsdl; 

public class Hello { 
  public String echo(String name){ 
  return "echo: "+name; 
  } 
} 

 

package com.test.java2wsdl;

import org.apache.cxf.tools.java2ws.JavaToWS;
/**
 * @description 使用CXF工具将Java类生成WSDL
 * @author zhu_qhua
 */
public class Java2WSDL {
	private Class<?> className;
	public String[] args1,args2,args3;
	/**
	 * 构造函数
	 * @param args 要生成WSDL的Java类
	 */
	public Java2WSDL(Class<?> className) {
		this.className = className; 
		
		//根据Hello.class生成Hello.wsdl,生成的wsdl文件放在resource目录下
		args1=new String[]{"-wsdl","-d","./resource",this.className.getName()};
		//根据Hello.class生成Hello.wsdl,生成的文件放在根目录下的.example下
		args2=new String[]{"-wsdl","-cp", "./example",this.className.getName()};
		// 根据Hello.class生成wsdl文件,文件命名为myHello.wsdl,放在根目录下
		args3=new String[]{"-o","myHello.wsdl","-wsdl",this.className.getName()};
	}
	/**
	 * 构造函数
	 * @param className 要生成WSDL的Java类
	 * @param wsdlFileName 要生成WSDL的文件名称(不包含扩展名)
	 */
	public Java2WSDL(Class<?> className,String wsdlFileName) {
		this.className = className; 
		
		//根据Hello.class生成Hello.wsdl,生成的wsdl文件放在resource目录下
		args1=new String[]{"-wsdl","-d","./resource",this.className.getName()};
		//根据Hello.class生成Hello.wsdl,生成的文件放在根目录下的.example下
		args2=new String[]{"-wsdl","-cp", "./example",this.className.getName()};
		// 根据Hello.class生成wsdl文件,文件命名为myHello.wsdl,放在根目录下
		args3=new String[]{"-o",wsdlFileName+".wsdl","-wsdl",this.className.getName()};
	}

	public void java2WSDL(String[] args){
		JavaToWS javaToWS = new JavaToWS(args);
		try {
			javaToWS.run();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public static void main(String[] args) {
		Java2WSDL java2WSDL = new Java2WSDL(Hello.class);
		java2WSDL.java2WSDL(java2WSDL.args1);
	}
}

  

 项目下载

分享到:
评论
1 楼 wuwei1616 2011-12-20  
我想问下lz 我生成了 wsdl文件 我用客户端去调用 怎么总是的报错呀

相关推荐

    使用CXF: Java 2 WSDL

    CXF提供了强大的工具,能够帮助开发者从Java接口自动生成WSDL,简化了Web服务的开发流程。 【知识点详解】: 1. **Apache CXF框架**:Apache CXF是一个用于构建和开发Web服务的开放源代码框架。它支持多种协议和...

    apache-cxf生成wsdl

    如果是在客户端,你可以使用CXF生成的客户端代理类来调用远程服务。 5. **部署和测试**:完成服务实现后,你可以使用CXF的Servlet或其他方式将服务部署到应用服务器上。然后,你可以使用CXF的测试客户端或者自定义...

    cxf wsdl生成工具

    cxf java代码生成 wsdl文件 ,wsdl文件生成 java代码,相关博文: http://blog.csdn.net/dream_broken/article/details/35331949

    CXF生成的WSDL详解

    ### CXF生成的WSDL详解 #### 一、概述 WSDL(Web Services Description Language)是一种用于描述Web服务的标准XML格式。它包含了服务提供者如何访问该服务的信息,包括服务的位置、服务可用的方法以及这些方法...

    wsdl生成服务的客户端调用代码

    例如,在Java中,可以使用Apache CXF或JAX-WS的wsimport工具来生成客户端代码。在.NET框架下,Visual Studio或svcutil.exe工具能完成相同的工作。对于Python,Suds库是一个常见的选择。 在给定的压缩包中,有一个名...

    CXF提供的wsdl2java工具创建客户端

    本文将详细介绍如何利用CXF提供的`wsdl2java`工具来创建一个客户端应用,以调用远程的Web服务。 #### 二、所需软件及其版本 在开始之前,确保您的系统上已安装以下软件: - **操作系统**:Windows XP SP3 - **JDK**...

    WSDl生成WebService接口及调用

    在本主题中,我们将深入探讨如何使用WSDL生成WebService接口以及编写Test调用方法进行测试。 1. WSDL基础 WSDL文件是一个XML文档,它描述了服务的位置(endpoint)、使用的消息格式(message)和服务提供的操作...

    CXF客户端生成器

    【CXF客户端生成器】是基于Apache CXF框架的一个实用工具,主要用于自动生成Java客户端代码,使得开发者可以方便地调用Web服务。Apache CXF是一个开源的SOAP和RESTful Web服务框架,它允许开发者创建和消费各种Web...

    wsdl生成java代码工具

    本篇文章将详细探讨“wsdl生成java代码工具”的相关知识点,以及如何使用这个工具。 1. **WSDL简介**: WSDL文件描述了Web服务的接口,包括服务提供的操作、输入和输出消息的格式,以及服务的位置。它使得开发者...

    利用CXF的wsdl2java来建立Web Service.

    在压缩包`bnetinterface`中,可能包含了CXF生成的接口代码或者示例项目的相关文件。这些文件可以帮助你理解和使用CXF创建的Web服务接口。如果你正在开发一个名为“BNetInterface”的服务,那么这些文件可能包括服务...

    wsdl反向生成工具

    "WSDL反向生成工具"的功能在于,当开发者拥有一个WSDL文件时,可以通过这个工具自动生成对应的客户端代码,从而无需手动编写调用服务所需的复杂代码。这样不仅提高了开发效率,也降低了出错的可能性。 【标签】 1. ...

    webservice注解修改生成wsdl信息

    在客户端,我们可以通过`wsimport`工具或者IDE自动生成服务代理类,然后实例化并调用相应的方法。 总的来说,通过注解的方式可以方便地定制WebService的元数据,以满足特定需求,同时结合适当的安全策略,可以构建...

    cxf_Myeclipse WSDL所需要的所有jar包

    CXF(CXF: Composite eXtensible ...这包括从WSDL生成Java代码,或者从Java类生成WSDL,以及进行服务部署和客户端调用。通过这种方式,你可以充分利用CXF和MyEclipse的集成,提高开发效率并确保Web服务的正确实现。

    apache CXF wsdl2java工具使用说明

    CXF 的一大亮点是提供了强大的工具链,其中包括 `wsdl2java` 工具,它可以从 WSDL 文件自动生成 Java 客户端和服务端代码。 #### 二、安装与配置 ##### 2.1 下载 Apache CXF 访问 Apache CXF 官方网站 ...

    WebService的WSDL文件生成Java代码工具

    在本话题中,我们将深入探讨如何利用WSDL文件生成Java代码,以便于开发和调用WebService。 WSDL文件是WebService的核心,它定义了服务的接口、消息格式、操作和地址等信息。WSDL是XML格式的,可以被工具解析并生成...

    cxf生成webservice客户端

    在标题和描述中提到的“cxf生成webservice客户端”是指利用CXF的工具从WSDL文件自动生成Java客户端代码,以便于调用Web服务。 生成Web服务客户端的步骤如下: 1. **获取WSDL文件**:Web服务通常会公开一个WSDL文件...

    CXF生成ws客户端代码

    ### CXF生成WS客户端代码详解 #### 一、概述 CXF(Camel-XML-Fuery)是一款开源框架,支持开发和维护基于SOAP、REST等协议的服务。它提供了强大的工具集来简化服务的创建、发布及消费过程。其中,“wsdl2java”...

    把wsdl文件或地址转化成java代码工具

    【标题】:“把wsdl文件或地址...MyEclipse和Apache CXF的wsdl2java工具都是常用的解决方案,它们通过解析WSDL文件,自动生成与服务接口对应的Java类,使得开发者可以专注于业务逻辑的实现,而不用关心底层通信的细节。

    Apache CXF如何把wsdl生成java代码

    wsdl2java命令是Apache CXF提供的一个工具,用于将wsdl文件生成java代码。我们可以使用wsdl2java命令来生成java代码。例如,要生成一个_wsdl文件对应的java代码,可以使用以下命令: wsdl2java ...

    cxf服务端wsdl发布帮助.docx

    接下来,我们使用CXF提供的`wsdl2java`工具来生成相关的Java代码。具体步骤如下: 1. **进入CXF Bin目录**:通过命令行工具进入到CXF安装目录下的`bin`目录,例如: ``` cd D:\apachecxf\apache-cxf-3.0.9\bin `...

Global site tag (gtag.js) - Google Analytics