cxf java 与 wsdl 互换生成代码
一、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="cxfJavaToWSDL">
<echo message="Running Java2WSDL task"/>
<delete quiet="true" dir="${build-gen}"/>
<delete quiet="true" file="${wsdl-path}"/>
<mkdir dir="${build-gen}"/>
<java classname="org.apache.cxf.tools.java2ws.JavaToWS" fork="true">
<arg value="-o"/>
<arg value="hello.wsdl"/>
<arg value="-d"/>
<arg value="${build-gen}"/>
<arg value="-servicename"/>
<arg value="HelloWorld"/>
<arg value="-wsdl"/>
<arg value="com.hq.service.HelloWorld"/>
<classpath>
<path refid="cxf.classpath"/>
</classpath>
</java>
<!-- copy资源文件 -->
<move todir="${src.dir}" preservelastmodified="true">
<fileset dir="${build-gen}">
<include name="**/*.wsdl" />
</fileset>
</move>
</target>
<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 实现(基于dos命令)
<?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="usage">
<echo
message="java2wsdl -->java文件生成wsdl文件,java2wsdl -Ddir=com/starit/cxf/java2wsdl -Dsrc=com.starit.cxf.java2wsdl.Hello" />
<echo
message="wsdl2javaClient -->java文件生成client,java2wsdl -Ddir=com/starit/cxf/java2wsdl -Dwsdl=hello.wsdl" />
</target>
<target name="java2wsdl">
<echo message="生成wsdl文件" />
<exec dir="${compile.dir}" executable="cmd.exe">
<arg line="/c java2ws" />
<arg line="-o ${wsdl.name} -wsdl ${target.class}" />
</exec>
<!-- copy资源文件 -->
<move todir="${src.dir}" preservelastmodified="true">
<fileset dir="${compile.dir}">
<include name="**/*.wsdl" />
</fileset>
</move>
</target>
<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>
分享到:
相关推荐
在本话题中,我们将深入探讨如何利用WSDL文件生成Java代码,以便于开发和调用WebService。 WSDL文件是WebService的核心,它定义了服务的接口、消息格式、操作和地址等信息。WSDL是XML格式的,可以被工具解析并生成...
- 实现:编写Java服务提供者实现生成的接口。 - 部署:将服务部署到服务器上。 - 发现:通过服务注册表或UDDI(Universal Description, Discovery, and Integration)让其他应用找到服务。 - 调用:客户端使用...
-client -wsdl myservice.wsdl -impl myServiceImpl.java`,其中`myservice.wsdl`是目标WSDL,`myServiceImpl.java`是Java实现类。 6. **WSDL的结构与元素**:理解WSDL文件的结构至关重要,其中包括`<wsdl:types>`...
总结起来,通过MyEclipse调用Axis的`wsdl2java`命令,我们可以高效地生成基于WSDL的Web服务客户端代码。这个过程简化了开发者的工作,使得与Web服务的交互变得更为便捷。在实际开发中,熟练掌握这一技能将极大地提高...
Java Web服务是一种基于Java技术实现的Web服务,它利用SOAP(简单对象访问协议)进行数据传输,并通过WSDL(Web服务描述语言)来定义服务接口。本文将详细介绍如何使用Axis工具根据WSDL文件生成Java Web服务,并提供...
Java2WSDL 和 WSDL2Java 是两种常用的 Web 服务开发工具,它们可以帮助开发者快速生成 Web 服务的 WSDL 文件和 Java 代码。本文详细介绍了 Java2WSDL 和 WSDL2Java 的使用方法和参数设置,旨在帮助开发者更好地理解...
5. **实现服务**:同方法一,实现生成的接口中的方法,并部署服务。 #### 方法三:使用MyEclipse的Web Service项目生成 MyEclipse是一款集成开发环境,内置了生成WebService项目的功能。以下是操作步骤: 1. **...
Eclipse中用wsdl生成java客户端 Eclipse是一款功能强大、功能丰富的集成开发环境(IDE),广泛应用于Java开发领域。随着WebService技术的普及,Eclipse也提供了相应的支持,允许开发者通过wsdl文件生成Java客户端...
【标题】:“把wsdl文件或地址...MyEclipse和Apache CXF的wsdl2java工具都是常用的解决方案,它们通过解析WSDL文件,自动生成与服务接口对应的Java类,使得开发者可以专注于业务逻辑的实现,而不用关心底层通信的细节。
在本案例中,我们将探讨如何利用Apache Ant工具和Axis库,根据WSDL文件自动生成Java客户端代码和JAR包。 Apache Ant是一个Java库和命令行工具,其任务是驱动构建过程。它允许开发者通过XML文件(通常称为build.xml...
总结,Java解析WSDL文档获取具体的方法与参数涉及的主要知识点包括:XML解析(DOM)、JAX-WS框架、`javax.xml.ws.Service`类的使用,以及如何基于WSDL生成服务客户端代码。理解这些概念,将有助于开发和消费Web服务...
在Web服务领域,Java2WSDL 和 WSDL2Java 是两个非常重要的工具,它们分别用于从Java类生成WSDL文件以及从WSDL文件生成Java类。本文将详细介绍这两个工具的使用方法及其参数说明,并提供一个具体的示例。 #### 二、...
4. **生成的代码结构**:`wsdl2java`会生成一系列的Java类,包括服务接口(对应WSDL中的portType)、服务代理实现(对应binding)、数据类型(对应schema中的元素和复杂类型)。此外,还会包含必要的配置文件和依赖...
你先将对方webservice的wsdl文件描述文件保存到本地为后缀名为.wsdl的文件,然后保存到Tools的这个文件夹下,编辑WSDL2AxisClient.bat这个文件,将%Java_Cmd% org.apache.axis.wsdl.WSDL2Java -o%Output_Path% -p %...
2. **生成Java类**:解析完成后,工具会根据WSDL中的定义生成一系列的Java类。这些类通常包括服务接口、消息实体、协议绑定类等,它们构成了与Web服务交互的基础。 3. **构建SOAP请求**:通过生成的Java类,开发者...
`wsdl2java`是Apache Axis项目的一部分,它是一个强大的工具,可以自动生成Java客户端和服务端代码,这些代码能够直接与由WSDL描述的Web服务进行交互。通过这个工具,开发人员无需手动编写复杂的SOAP消息处理代码,...
它会根据WSDL文件生成相应的服务实现类和服务接口,使得开发者可以直接在Java代码中调用和实现Web服务。 7. **注意事项** - 当转换Java到WSDL时,确保Java接口或类的注解正确,这会影响到WSDL文件的生成。 - 转换...
axis2根据wsdl生成java客户端代码 D:\Software\axis2-1.6.2\bin>wsdl2java.bat -uri http://10.33.30.216:9099/facs/services/ResourceSynchroWebService?wsdl -o E:\wsdloutput -p com.util wsdl2java.bat -uri ...
总结,Java解析WSDL文档获取方法与参数涉及到的技术点包括:了解WSDL的基本概念,使用Apache CXF或其他类似库,加载和解析WSDL文档,获取服务、端点、操作和消息信息,最后可能还需要生成Java客户端代码以便于调用...