新建project.如下图选择,

建立好以后的目录树如图:

- 添加新的webservice 接口和实现类。
依次选择File->New->Other
如图



点击Finish.
- 双击编辑HelloWorldImpl.java
代码如下:

public class HelloWorldImpl implements IHelloWorld
{



public String example(String message)
{

return "Hello World" + message;

}


}


- 修改WebRoot->WEB-INF->web.xml如下
<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<servlet>

<servlet-name>helloworld</servlet-name>

<servlet-class>oracle.j2ee.ws.StatelessJavaRpcWebService</servlet-class>

<init-param>

<param-name>class-name</param-name>

<param-value>HelloWorldImpl</param-value>

</init-param>

<init-param>

<param-name>interface-name</param-name>

<param-value>IHelloWorld</param-value>

</init-param>

</servlet>

<servlet-mapping>

<servlet-name>helloworld</servlet-name>

<url-pattern>/HelloWorld</url-pattern>

</servlet-mapping>

</web-app>


- 添加新的build.xml

内容如下:
<?xml version="1.0" encoding="UTF-8"?>


<project basedir="." default="war" name="bid">

<property name="app-name" value="bid" />

<property name="release-version" value="20060720-1549" />

<property name="src" value="src" />

<property name="dist" value="dist" />

<property name="classes" value="WebRoot/WEB-INF/classes" />

<property name="lib" value="WebRoot/WEB-INF/lib" />

<property name="ext-lib" value="ext-lib" />

<property name="charset" value="UTF-8" />

<property name="javadoc-packagenames"

value="com.safemore.bid,com.safemore.bid.bid,com.safemore.bid.common,com.safemore.bid.issue,com.safemore.bid.logon,com.safemore.bid.util" />


<patternset id="resources">

<include name="**/*.jpe" />

<include name="**/*.jpeg" />

<include name="**/*.rmf" />

<include name="**/*.wav" />

<include name="**/*.midi" />

<include name="**/*.mid" />

<include name="**/*.au" />

<include name="**/*.gif" />

<include name="**/*.png" />

<include name="**/*.jpg" />

<include name="**/*.aiff" />

<include name="**/*.properties" />

<include name="**/*.txt" />

<include name="**/*.xml" />

</patternset>


<path id="classpath">

<pathelement location="${dist}" />

<fileset dir="${lib}">

<include name="*.jar" />

</fileset>

<fileset dir="${ext-lib}">

<include name="*.jar" />

</fileset>

</path>


<target name="init">

<mkdir dir="${dist}" />

<mkdir dir="${classes}" />

</target>


<target name="war" depends="resource, jar">

<!--touch file="WEB-INF/web.xml"/-->

<war compress="false" destfile="${dist}/${app-name}-${release-version}.war"

webxml="WebRoot/WEB-INF/web.xml">

<fileset dir="WebRoot">

<include name="**/*.*" />

<exclude name="WEB-INF/" />

</fileset>

<fileset dir="WebRoot">

<include name="WEB-INF/*.*" />

<exclude name="WEB-INF/web.xml" />

<exclude name="WEB-INF/${app-name}.xml" />

<!--exclude name="lib/" /-->

</fileset>

<!--lib dir="${lib}"-->

<include name="*.jar" />

<!--/lib-->

<!--

<lib dir="${dist}"> <include name="*.jar" /> </lib>

-->

<classes dir="${classes}" />

</war>

</target>


<target name="resource">

<copy todir="${classes}">

<fileset dir="${src}">

<patternset refid="resources" />

</fileset>

</copy>

</target>


<target name="clean">

<delete dir="${classes}" />

<delete dir="${dist}" />

</target>


<target name="compile" depends="init">

<javac classpathref="classpath" debug="true" deprecation="false"

destdir="${classes}" nowarn="false" encoding="${charset}">

<src path="${src}" />

</javac>

</target>


<target name="jar" depends="resource, compile, init">

<jar compress="false" destfile="${dist}/${app-name}-${release-version}.jar">

<fileset dir="${classes}">

<include name="**/*.class" />

<patternset refid="resources" />

</fileset>

</jar>

</target>


<target name="rejar" depends="clean, jar" />


<target name="ear" depends="war">

<ear destfile="${dist}/${app-name}-${release-version}.ear" appxml="META-INF/application-j1.3.xml">

<fileset dir="${dist}" includes="${app-name}-${release-version}.war" />

</ear>

</target>


<target name="release" depends="war">

<zip destfile="${dist}/${app-name}-${release-version}.zip">

<zipfileset dir="${dist}" includes="${app-name}-${release-version}.war"

prefix="." />

<zipfileset dir="db" includes="*.*" prefix="db" />

<zipfileset dir="doc" includes="*.*" prefix="doc" />

</zip>

</target>


<target name="javadoc">

<javadoc encoding="${charset}" charset="${charset}" access="public"

author="true" destdir="${dist}/javadoc" nodeprecated="false"

nodeprecatedlist="false" noindex="false" nonavbar="false" notree="false"

source="1.5" splitindex="true" use="true" version="true"

packagenames="${javadoc-packagenames}" sourcepath="${src}"

classpathref="classpath" />

</target>

</project>


- 到你的hello的系统目录下面去,在与build.xml同级的目录下面运行ant
- 然后再myeclipse里面刷新工程会看到多了一个dist目录,这下面就有我们需要的war文件。
- 启动oc4j,在浏览器中输入http://localhost:8888/em/
然后登录。
- 依次选择Applications->deploy->
Browse选择你的dist下面的那个war文件,然后选择next.
Application Name随便添,Context-Root填写HelloWorld
然后下一步,deploy.
- 在浏览器中输入http://localhost:7788/HelloWorld/HelloWorld
看看效果。点击 example,parma0输入 Me. 点击 Invoke,怎么样,xml成功返回了。恭喜你,第一个servlet成功了。