从技术的角度来说,有必要提一下我们的调试环境。我们使用的是Windows xp操作系统,安装有JAVA 2 SDK 1.4.1,Apache SOAP 2.3.1,JAF 1.0.2,JAVAMAIL 1.3.1和Xerces 2.6.0。上面所提及的都能在Tcomcat 4.1.29 jsp/Servlet容器中正常运行。所有的软件都是免费自由软件,因此你能够很轻易的下载它们并自己在任何你喜欢的平台如Windows或UNIX上安装它们。Java SDK,JAF和JAVAMAIL位于SUN的官方网站(http://java.sun.com),其他的软件在Jakarta项目组的官方网站(http://jakarta.apache.org)上有down的。可能你在看到我们需要这么多不同的包(package)时已经有点担心和不安了,但是实际上你不应该担心这些的。一旦你懂了基础,那么对你将相当轻易。安装不是一件很难的事情,你只需要在设置环境变量的时候仔细些,比如CATALINA_HOME, CLASSPATH, JAVA_HOME 等等,所有这些步骤都是手工的。由于我仅仅是想将你的注重力再次集中到它们身上,所以你能很快的就完成以上配置过程。我只是添加下面的一些字符串到Tomcat的bin/setclasspath.bat文件中: ... set CATALINA_HOME=C:/Tomcat4.1.29 set CLASSPATH=%JAVA_HOME%/lib/tools.jar set CLASSPATH=%JAVA_HOME%/soap-2.3.1/lib/soap.jar set CLASSPATH=%CLASSPATH%;%JAVA_HOME%/javamail-1.3.1/mail.jar set CLASSPATH=%CLASSPATH%;%JAVA_HOME%/jaf-1.0.2/activation.jar set CLASSPATH=%CLASSPATH%;%JAVA_HOME%/xerces-2_6_0/xercesImpl.jar set CLASSPATH=%CLASSPATH%;%JAVA_HOME%/xerces-2_6_0/xercesSamples.jar set CLASSPATH=%CLASSPATH%;%JAVA_HOME%/xerces-2_6_0/xml-apis.jar set CLASSPATH=%CLASSPATH%;%JAVA_HOME%/xerces-2_6_0/xmlParserAPIs.jar set CLASSPATH=%CLASSPATH%;%CATALINA_HOME%/common/lib/servlet.jar set CLASSPATH=%CLASSPATH%;%CATALINA_HOME%/common/lib/tools.jar ...
1: // SOAPService.java 2: package HelloWorld; 3: public class SOAPService { 4: public String sayHi(String x) { 5: return("Hello my friend, " + x + "! Glad to see you!"); 6: } 7: }
添加任何注释也是很轻易的。要编译它,只需要用下列命令:
javac SOAPService.java
第二步,一旦我们预备好了SOAP Service,我们需要用SOAP Service Manager来部署它。这个可以通过很多方式来实现,但是为了能让初学SOAP的读者更轻易理解SOAP,我提供了一个最轻易的方式。我们假设你的Web Server(Tomcat或其他)已经正常运行,并且你已经正确安装了SOAP。那么当浏览器访问http://localhost:8080/soap/,你会看见Apache SOAP的欢迎页面。点击Run the admin client ,然后 Deploy。你会得到一个屏幕显示,在那里你需要填入ID,Scope,Method,Provider Type和JAVA Provider的信息到表单域中。你能忽略其他所有的表单域,除非你真的需要它们的信息。我们的“HelloWorld”例子不需要它们,所以,我们填的下面的值:
一些注释:ID是我们要从SOAP Client标识我们的SOAP Service的唯一名字。Method包含SOAP Service提供的一系列方法。JAVA Provider-Provider Class是SOAP Service Java类的名字。
现在,点击Deploy 按钮,那么你的服务会被部署。再次强调,请注重正确设置CLASSPATH环境变量。然后,你的HelloWorld.SOAPService类能够被找到,并且所有必需的jar包也能被找到。这是个几乎每个人都会犯的普通错误。现在,你能够点击 List ,将会看见你的服务已经被部署进来。恭喜!