Apache SOAP在 tomcat下安装

来源:互联网 发布:中国保险网络大学网址 编辑:程序博客网 时间:2024/05/01 19:14

*******************************************
*其实,我只是从apache soap文档里翻译过来的 *
*希望能够抛砖引玉 *
*初次翻译,不当之处,希大家指出。 *
*******************************************
资源下载:
 http://xml.apache.org/dist/soap/
 

安装Apache SOAP2.2(我下载最新的2.2版)
 Apache-SOAP可以做为服务器也可以做为客户端安装。

如果你是从老版本的Apache SOAP升级安装,你必须删掉所有的缓存类文件, 部署服务文件。否则你会遇到各种奇怪的错误。
 如果你是使用一个Web app 来加载Apache SOAP,所有旧的扩展的
 WARS必须被删掉。加载到老版本的服务不会自动转到新版本-
你必须手动重新部署。也就是说,老的DeployedServices.ds文件不能被新版本读取。
 如果你在安装APACHE SOAP的过程中碰到任何奇怪,不正常的事情
 最有可能的就是老版本残留的代码的问题。把你的机器搞干净重新安装或在一个从没有安装过的环境中安装。


客户端安装:

你的classpath中必须包含:
soap.jar
mail.jar
activation.jar
一个支持命名空间的JAXP解析器如 Apache Xerces(1.1.2以上版本)
 如果你有其他不支持命名空间的解析器,你必须把他的解析包放在classpath的
 最前面。


服务器端的安装:
 确信你的classpath包含了你客户端安装的所有classpath中的组件
 此外:
为了在脚本语言中实现服务,你还要安装
 bsf.jar 从http://oss.software.ibm.com/developerworks/projects/bsf得到
 js.jar从http://www.mozilla.org/rhino/得到
为了支持servlet 或jsp你还要安装一种App Server如:tomcat, weblogic等


 以下以tomcat3.2为例:
注意:
 先将xerces.jar放到classpath的最前面
 如果你是运行startup.bat来启动tomcat。在tomcat.bat(在tomcat3.2.1是第69行)里面应该这样
 set CP=<xerces.jar所在路径>/xerces.jar;%CLASSPATH%;%CP%
 如果你是运行startup.sh来启动tomcat。在tomcat.sh第113行后添加
 CLASSPATH=<xerces.jar所在路径>/xerces.jar:${CLASSPATH}


在tomcat上部署apache-soap
在tomcat上部署apache-soap有两种不同的方法

方法一:部署web archive (即部署war)
apache-soap的发布版在包含<soap安装目录>/webapps下有一个soap.war,
把这个文件copy到你的<tomcat安装目录>/webapps下面,重新启动tomcat即可。
如果你以这种方式部署apache-soap,你不再需要<soap安装目录>下的任何东西
(soap.war已包含了所有需要的东西).
 
记住:
如果你要用一个最新版本的替代你原来的版本,要先停止tomcat,在删除<tomcat安装目录>/webapps/soap下
所有东西,删除<tomcat安装目录>/webapps下soap.war,然后将你的新的soap.war放在此目录下。



方法二: 在tomcat的server.xml文件中创建一新的目录。
如:
<Context path="/soap" docBase="path-to-apache-soap/webapps/soap" debug="1" reloadable="true"> </Context>

 确保所需的jar 文件已经在你的classpath中,启动tomcat

重申一下:这里的classpath不光包括xerces.jar,还有上文提到的mail.jar,activation.jar,xml4j.jar
 而且xerces.jar必须在xml4j.jar前

如我用的是NT下的tomcat3.2,在tomcat.bat 的第69行我是这样设的:

set CP=%TOMCAT_HOME%/lib/xerces.jar;%TOMCAT_HOME%/lib/mail.jar;%TOMCAT_HOME%/lib/activation.jar;%TOMCAT_HOME%/lib/xml4j.jar;%CLASSPATH%;%CP%




访问 Apache Soap:
在浏览器里输入:
http://localhost:8080/soap

就看到了可爱的:
Hello! Welcome to Apache-SOAP.


测试服务器端安装
在浏览器里输入
http://localhost:8080/soap/servlet/rpcrouter
 
 浏览器应该响应如下:
 Sorry, I don't speak via HTTP GET- you have to use HTTP POST to talk to me.


 如果你看不到以上信息,说明你的配置有问题。如果你能够看到
 你应该知道你的router rpc地址了。即: http://localhost:8080/soap/servlet/rpcrouter



测试你的服务器和客户端是否安装了所有的必须安装的东西:

为测试方便,我建了2个bat文件
 soapEnv.bat,(用来设置客户端的classpath)内容如下:
set classpath=%classpath%;D:/tomcat/webapps/soap/WEB-INF/classes;
set classpath=%classpath%;d:/tomcat/lib/xerces_1_4_0.jar;
set classpath=%classpath%;d:/tomcat/lib/mail.jar;
set classpath=%classpath%;d:/tomcat/lib/activation.jar;
set classpath=%classpath%;d:/tomcat/lib/xml4j_1_1_16.jar;

soapTest.bat:(用刚才的router rpc地址)
java org.apache.soap.server.ServiceManagerClient http://localhost:8080/soap/servlet/rpcrouter list

然后运行:
c>soapEnv.bat
c>soapTest.bat
C:/>java org.apache.soap.server.ServiceManagerClient http://localhost:8080/soap/servlet/rpcrouter list

 Deployed Services:


如果,在你的机器上得到一串url例表,或没有东西,因为还没有加载服务(如上示)

说明你的环境已完全配置成功。

TrackFrom: http://www.cngr.cn/article/54/67/2006/2006071930969.shtml


 

原创粉丝点击