Use Oracle ant tasks for web service 

Joined:
04/09/2007
Posts:
753

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>
Share |
| Comment  | Tags