`
xiaofengtoo
  • 浏览: 484820 次
  • 性别: Icon_minigender_1
  • 来自: xiamen
社区版块
存档分类
最新评论

java and wsdl 互换生成 Ant 实现

 
阅读更多

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>
 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics