Use Oracle ant tasks for web service
April 07, 2008 22:18:29 Last update: April 07, 2008 22:19:30
Oracle's documentation on how to set up Ant tasks for web services is ambiguous and tedious. Here's a simple Ant file to accomplish that task.
<project name="TEST" basedir="." default="usage" xmlns:oracle="antlib:oracle"> <property environment="env"/> <property name="jdev.home" location="${env.JDEV_HOME}"/> <property name="j2ee.home" value="${jdev.home}/j2ee/home"/> <property name="src.dir" value="src"/> <property name="build.dir" value="build"/> <taskdef resource="oracle/antlib.xml" uri="antlib:oracle" loaderRef="oracle.tasks.loader"> <classpath> <fileset dir="${jdev.home}/webservices/lib" includes="*.jar"/> <pathelement location="${jdev.home}/j2ee/utilities/ant-oracle-classes.jar"/> <pathelement location="${j2ee.home}/lib/javax88.jar"/> <pathelement location="${j2ee.home}/lib/adminclient.jar"/> </classpath> </taskdef> <target name="init"> <mkdir dir="${build.dir}"/> </target> <target name="clean" description="Clean up build"> <delete dir="${build.dir}"/> </target> <target name="compile" depends="init" description="Compile java classes"> <javac srcdir="${src.dir}" destdir="${build.dir}"> <include name="**/*.java"/> </javac> </target> <target name="ws" depends="compile" description="Generate web services"> <oracle:assemble appName="hello" serviceName="HelloService" output="${build.dir}" ear="dist/hello.ear" targetNamespace="http://my.example.com"> <oracle:porttype interfaceName="my.example.HelloInterface" className="my.example.HelloImpl"> <oracle:port uri="HelloService"/> </oracle:porttype> <oracle:classpath> <fileset dir="${jdev.home}/webservices/lib" includes="*.jar"/> <pathelement location="${build.dir}"/> </oracle:classpath> </oracle:assemble> </target> <target name="usage"> <java classname="org.apache.tools.ant.Main"> <arg value="-projecthelp"/> </java> </target> </project>