cxf wsdl2Java 实现
一、ant 实现
<?xml version="1.0"?>
<project name="cxf build" basedir=".">
<property name="cxf.home" location ="D:/developSoft/apache-cxf-2.3.3"/>
<property name="src.dir" value="${basedir}/src" />
<property name="build-gen" location="${basedir}/gen"/>
<property name="wsdl-name" value="hello.wsdl"/>
<property name="wsdl-path" value="${src.dir}/${wsdl-name}"/>
<path id="cxf.classpath">
<!-- 一定要编译class -->
<pathelement location="${basedir}/WebRoot/WEB-INF/classes"/>
<fileset dir="${cxf.home}/lib">
<include name="*.jar"/>
</fileset>
</path>
<target name="cxfWSDLToJava">
<echo message="Running WSDL2Java task"/>
<delete quiet="true" dir="${build-gen}"/>
<mkdir dir="${build-gen}"/>
<java classname="org.apache.cxf.tools.wsdlto.WSDLToJava" fork="true">
<arg value="-client"/>
<arg value="-d"/>
<arg value="${build-gen}/src"/>
<arg value="${wsdl-path}"/>
<classpath>
<path refid="cxf.classpath"/>
</classpath>
</java>
</target>
</project>
二、另一种ant 实现
<?xml version="1.0"?>
<project name="cxf" basedir="." default="usage">
<property name="webroot.dir" value="${basedir}/WebRoot/WEB-INF/classes" />
<!-- webservice接口 -->
<property name="target.class" value="com.hq.cxf.HelloWorld" />
<property name="wsdl.name" value="hello.wsdl" />
<property name="src.dir" value="src" />
<property name="client.dir" value="client" />
<property name="server.dir" value="server" />
<property name="compile.dir" value="${webroot.dir}" />
<target name="wsdl2javaClient">
<echo message="生成java client文件" />
<mkdir dir="${client.dir}" />
<exec dir="." executable="cmd.exe">
<arg line="/c wsdl2java" />
<!-- 生成的java所存目录 -->
<arg line="-d ${client.dir}" />
<!-- wsdl文件所在路径 -->
<arg line="-client src\*.wsdl" />
</exec>
</target>
</project>
三、dos 实现
@echo
d:
@rem cxf 安装路径\bin 目录下
set wsdl2path=D:/developSoft/apache-cxf-2.3.3/bin
cd %wsdl2path%
:::set savepath=
set wsdlurl=http://localhost:8080/cxf.server/IHelloWorld?wsdl
:::-p 指定其wsdl的命名空间,也就是要生成代码的包名:
:::-d 指定要产生代码所在目录
:::-client 生成客户端测试web service的代码
:::-server 生成服务器启动web service的代码
:::-impl 生成web service的实现代码
:::-ant 生成build.xml文件
:::-all 生成所有开始端点代码:types,service proxy,,service interface, server mainline, client mainline,
:::implementation object, and an Ant build.xml file.
call wsdl2java.bat %wsdlurl%
@echo 生成完毕
exit
第2种与第3种 实现方式需要配置CXF的环境变量
参数说明:
Option
Interpretation
-?
,-h
,-help
|
显示此实用程序和退出的联机帮助。
|
-fe frontend-name
|
指定的前端。
默认为JAXWS。
目前支持仅JAXWS前端和“jaxws21”前端生成JAX - WS 2.1兼容的代码。
|
-db databinding-name
|
指定的绑定。
默认是JAXB。
目前支持JAXB,XMLBeans的,SDO(SDO的静态和动态SDO),和JiBX。
|
-wv wsdl-version
|
指定WSDL版本,默认是WSDL1.1。
目前suppports只有WSDL1.1版本。
|
-p [ wsdl-namespace= ] PackageName
|
指定零或更多,包名使用生成的代码。
还可以指定WSDL命名空间包名映射。
|
-sn service-name
|
WSDL服务名称使用生成的代码。
|
-b binding-name
|
指定JAXWS或JAXB绑定文件或XMLBeans的上下文文件。
使用多个- B标志来指定多个条目。
|
-catalog catalog-file-name
|
指定目录的文件映射导入的WSDL /架构
|
-d output-directory
|
指定生成的代码文件被写入到其中的目录。
|
-compile
|
编译生成的Java文件。
|
-classdir compile-class-dir
|
指定编译的类文件被写入到其中的目录。
|
-client
|
生成客户端主线出发点代码。
|
-server
|
生成服务器主线出发点代码。
|
-impl
|
生成出发点代码为实施对象。
|
-all
|
生成所有的出发点代码:类型,服务代理,服务接口,服务器主线,客户端的主线,实施对象,和Ant
build.xml文件。
|
-ant
|
指定生成的
Ant build.xml脚本。
|
-autoNameResolution
|
自动解决,而无需使用绑定自定义的命名冲突。
|
-defaultValues=[DefaultValueProvider impl]
|
指定IMPL和客户端生成的默认值。
您也可以提供一个自定义的默认值供应商。
默认提供程序是RandomValueProvider
|
-nexclude schema-namespace [=java-packagename]
|
生成代码时,忽略指定的WSDL架构命名空间。
这个选项可以多次指定。
此外,还可以指定排除的命名空间(S)中所述的类型所使用的Java包名。
|
-exsh (true/false)
|
启用或禁用隐SOAP标头处理(即在WSDL中定义的SOAP标头:约束力,但不WSDL:portType的部分),默认值是false。
|
-dns (true/false)
|
启用或禁用加载默认命名空间的包的名称映射。
默认是真实的, http://www.w3.org/2005/08/addressing=org.apache.cxf.ws.addressing
命名空间封装映射将启用。
|
-dex (true/false)
|
启用或禁用加载默认不包括命名空间映射。
默认值是true。
|
-validate
|
启用验证WSDL生成的代码之前。
|
-keep
|
指定的代码发生器不会覆盖任何预先存在的文件。
您将负责解决由此产生的任何编译问题的。
|
-wsdlLocation wsdlLocation
|
指定@ WebServiceClient注释的wsdlLocation财产的价值。
|
-xjc<xjc args>
|
指定一个逗号分隔的列表参数
,直接传递到XJC处理器时使用的JAXB绑定。
使用XJC - X
可提供XJC的插件列表。
|
-noAddressBinding
|
与CXF 2.0的兼容性,这个标志指示的代码生成器来生成旧CXF的专有的WS -寻址类型,而不是对JAX - WS 2.1兼容WS - Addressing的类型。
|
-v
|
显示该工具的版本号。
|
-verbose
|
显示在代码生成过程中的意见。
|
-quiet
|
禁止在代码生成过程中的意见。
|
-useFQCNForFaultSerialVersionUID
|
启用故障异常的基础上的hashCode()生成序列版本UID
异常的完全限定类名
|
wsdlurl
|
在生成的代码使用的WSDL文件的路径和名称。
|
作为最后一个参数,您必须指定WSDL文档的绝对或相对路径。
官方文档: http://cxf.apache.org/docs/wsdl-to-java.html
分享到:
相关推荐
Apache Axis是Java平台上的一个开源Web服务框架,其中包含了`wsdl2java`工具,用于将WSDL文件转换为Java代码,使得开发者可以基于这些代码实现服务的客户端或服务器端。本篇文章将详细介绍`wsdl2java`命令的使用方法...
**WSDL2Java工具详解** 在IT行业中,Web服务(Web Service)是一种通过网络进行通信的标准接口,使得不同系统之间可以实现数据交换和业务协同。其中,WSDL(Web Services Description Language)是用于定义Web服务...
-client -wsdl myservice.wsdl -impl myServiceImpl.java`,其中`myservice.wsdl`是目标WSDL,`myServiceImpl.java`是Java实现类。 6. **WSDL的结构与元素**:理解WSDL文件的结构至关重要,其中包括`<wsdl:types>`...
**WSDL2Java工具详解** 在Web服务的世界中,`WSDL`(Web Service Description Language)是一种XML格式的规范,用于定义服务接口、操作、消息结构等,使得服务消费者能够理解如何与服务进行交互。而`WSDL2Java`工具...
2. `[wsdl2java][show].reg.txt` 和 `[wsdl2java][hide].reg.txt` 可能是注册表文件,用于在Windows中添加或删除命令行快捷方式。 3. `wsdl2java.cmd.txt` 可能是一个批处理文件,包含了运行wsdl2java命令的具体指令...
WSDL2Java工具是Apache CXF框架的一部分,它实现了WSDL到Java代码的转换,将服务接口描述转化为可执行的Java类,方便开发者在Java环境中调用或实现Web服务。 一、WSDL2Java的作用 1. 生成客户端存根(Stub):通过...
【标题】"wsdl2java_jar.zip" 是一个压缩包,其中包含了用于将WSDL(Web服务描述语言)文件转换为Java代码的必要库。这个过程通常在开发基于Java的Web服务客户端时进行,以便能够调用远程Web服务。 【描述】提到,...
3. **服务端 Skeleton**: 如果需要实现服务端,WSDL2Java也会生成服务端Skeleton类,作为Web服务实现的基础框架。 4. **协议适配器**: 生成与SOAP、HTTP等协议相关的适配器代码,确保客户端和服务端之间的通信顺畅...
3. **Wsdl2Java工具**: 这是一个命令行工具,通常与Apache CXF或Axis等Java Web服务框架关联。它的主要功能是从WSDL文件生成Java源代码,这些代码可以被编译并用作Web服务的客户端或者服务提供者。通过运行`wsdl2...
4. **生成的代码结构**:`wsdl2java`会生成一系列的Java类,包括服务接口(对应WSDL中的portType)、服务代理实现(对应binding)、数据类型(对应schema中的元素和复杂类型)。此外,还会包含必要的配置文件和依赖...
而WSDL2JAVA工具则是Apache Axis项目提供的一种强大工具,它能够根据WSDL文件自动生成Java代码,包括客户端和服务端的存根(Stub)和骨架(Skeleton)类,极大地简化了Web服务的开发过程。 #### WSDL2JAVA工具的...
3. **运行wsdl2Java命令**: 打开命令行终端,然后输入以下命令,其中`<wsdl_url>`是WSDL文件的URL或本地路径: ``` wsdl2java -uri <wsdl_url> ``` 这个命令将根据WSDL文件生成一系列的Java类,包括服务接口、...
WSDL2JAVA工具就是利用这种描述,自动生成客户端和服务端的Java绑定代码,包括Stub(代理类)和服务实现类,使得开发者无需手动编写复杂的SOAP消息处理代码。 `WSDL2Java`工具通常与Apache CXF、 Axis等开源Web服务...
3. **运行`wsdl2java`**:在命令行中,输入`wsdl2java -d <output_directory> <wsdl_file>`。其中,`<output_directory>`是你希望生成的Java源代码存放的目录,`<wsdl_file>`是你的WSDL文件路径。 4. **参数调整**...
WSDL2Java工具允许开发者将WSDL文件转换为Java代码,这些代码可以作为客户端调用服务的代理类或服务端实现服务的骨架。 博客链接 "<https://hck.iteye.com/blog/1683563>" 可能提供了一个关于如何使用Axis WSDL2...
5. **服务端实现**:`WSDL2Java`不仅生成客户端代码,还可以生成服务端的Stubs,使得服务端的开发更加方便快捷。 6. **命令行参数**:`WSDL2Java`提供了丰富的命令行参数,可以控制生成的代码风格、输出目录、包名...
### Apache CXF wsdl2java 工具使用详解 #### 一、Apache CXF 概述 Apache CXF 是一个高性能、轻量级的开源框架,用于构建和使用基于 SOAP 和 REST 规范的 Web 服务。CXF 提供了强大的功能支持,包括 XML 数据的...
3. 输入命令`wsdl2java -d <output_directory> <wsdl_file>`,其中是生成代码的目标目录,<wsdl_file>是WSDL文件的路径。 4. 等待命令执行完成,生成的Java代码将出现在指定的输出目录中。 总结来说,将WSDL文件...
在IT行业中,Web服务是不同系统间通信的重要方式,而WSDL(Web Service Description Language)是一种XML格式,用于定义Web服务的接口和消息交换。它描述了服务的端点、操作、输入和输出消息,以及服务如何通过网络...