在做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);
}
}
项目下载
分享到:
相关推荐
CXF提供了强大的工具,能够帮助开发者从Java接口自动生成WSDL,简化了Web服务的开发流程。 【知识点详解】: 1. **Apache CXF框架**:Apache CXF是一个用于构建和开发Web服务的开放源代码框架。它支持多种协议和...
如果是在客户端,你可以使用CXF生成的客户端代理类来调用远程服务。 5. **部署和测试**:完成服务实现后,你可以使用CXF的Servlet或其他方式将服务部署到应用服务器上。然后,你可以使用CXF的测试客户端或者自定义...
cxf java代码生成 wsdl文件 ,wsdl文件生成 java代码,相关博文: http://blog.csdn.net/dream_broken/article/details/35331949
### CXF生成的WSDL详解 #### 一、概述 WSDL(Web Services Description Language)是一种用于描述Web服务的标准XML格式。它包含了服务提供者如何访问该服务的信息,包括服务的位置、服务可用的方法以及这些方法...
例如,在Java中,可以使用Apache CXF或JAX-WS的wsimport工具来生成客户端代码。在.NET框架下,Visual Studio或svcutil.exe工具能完成相同的工作。对于Python,Suds库是一个常见的选择。 在给定的压缩包中,有一个名...
本文将详细介绍如何利用CXF提供的`wsdl2java`工具来创建一个客户端应用,以调用远程的Web服务。 #### 二、所需软件及其版本 在开始之前,确保您的系统上已安装以下软件: - **操作系统**:Windows XP SP3 - **JDK**...
在本主题中,我们将深入探讨如何使用WSDL生成WebService接口以及编写Test调用方法进行测试。 1. WSDL基础 WSDL文件是一个XML文档,它描述了服务的位置(endpoint)、使用的消息格式(message)和服务提供的操作...
【CXF客户端生成器】是基于Apache CXF框架的一个实用工具,主要用于自动生成Java客户端代码,使得开发者可以方便地调用Web服务。Apache CXF是一个开源的SOAP和RESTful Web服务框架,它允许开发者创建和消费各种Web...
本篇文章将详细探讨“wsdl生成java代码工具”的相关知识点,以及如何使用这个工具。 1. **WSDL简介**: WSDL文件描述了Web服务的接口,包括服务提供的操作、输入和输出消息的格式,以及服务的位置。它使得开发者...
在压缩包`bnetinterface`中,可能包含了CXF生成的接口代码或者示例项目的相关文件。这些文件可以帮助你理解和使用CXF创建的Web服务接口。如果你正在开发一个名为“BNetInterface”的服务,那么这些文件可能包括服务...
"WSDL反向生成工具"的功能在于,当开发者拥有一个WSDL文件时,可以通过这个工具自动生成对应的客户端代码,从而无需手动编写调用服务所需的复杂代码。这样不仅提高了开发效率,也降低了出错的可能性。 【标签】 1. ...
在客户端,我们可以通过`wsimport`工具或者IDE自动生成服务代理类,然后实例化并调用相应的方法。 总的来说,通过注解的方式可以方便地定制WebService的元数据,以满足特定需求,同时结合适当的安全策略,可以构建...
CXF(CXF: Composite eXtensible ...这包括从WSDL生成Java代码,或者从Java类生成WSDL,以及进行服务部署和客户端调用。通过这种方式,你可以充分利用CXF和MyEclipse的集成,提高开发效率并确保Web服务的正确实现。
CXF 的一大亮点是提供了强大的工具链,其中包括 `wsdl2java` 工具,它可以从 WSDL 文件自动生成 Java 客户端和服务端代码。 #### 二、安装与配置 ##### 2.1 下载 Apache CXF 访问 Apache CXF 官方网站 ...
在本话题中,我们将深入探讨如何利用WSDL文件生成Java代码,以便于开发和调用WebService。 WSDL文件是WebService的核心,它定义了服务的接口、消息格式、操作和地址等信息。WSDL是XML格式的,可以被工具解析并生成...
在标题和描述中提到的“cxf生成webservice客户端”是指利用CXF的工具从WSDL文件自动生成Java客户端代码,以便于调用Web服务。 生成Web服务客户端的步骤如下: 1. **获取WSDL文件**:Web服务通常会公开一个WSDL文件...
### CXF生成WS客户端代码详解 #### 一、概述 CXF(Camel-XML-Fuery)是一款开源框架,支持开发和维护基于SOAP、REST等协议的服务。它提供了强大的工具集来简化服务的创建、发布及消费过程。其中,“wsdl2java”...
【标题】:“把wsdl文件或地址...MyEclipse和Apache CXF的wsdl2java工具都是常用的解决方案,它们通过解析WSDL文件,自动生成与服务接口对应的Java类,使得开发者可以专注于业务逻辑的实现,而不用关心底层通信的细节。
wsdl2java命令是Apache CXF提供的一个工具,用于将wsdl文件生成java代码。我们可以使用wsdl2java命令来生成java代码。例如,要生成一个_wsdl文件对应的java代码,可以使用以下命令: wsdl2java ...
接下来,我们使用CXF提供的`wsdl2java`工具来生成相关的Java代码。具体步骤如下: 1. **进入CXF Bin目录**:通过命令行工具进入到CXF安装目录下的`bin`目录,例如: ``` cd D:\apachecxf\apache-cxf-3.0.9\bin `...