Apache SOAP在 tomcat下安裝(原創)--慶祝一下新開版面
發表于:2007-07-01來源:作者:點擊數:
標簽:
******************************************* *其實,我只是從apache soap文檔里翻譯過來的 * *希望能夠拋磚引玉* *初次翻譯,不當之處,希大家指出。* ******************************************* 資源下載: http://xml.apache.org/dist/soap/ 安裝Apache
*******************************************
*其實,我只是從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
一個支持命名空間的JA
XP解析器如 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" de
bug="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例表,或沒有東西,因為還沒有加載服務(如上示)
說明你的環境已完全配置成功。
原文轉自:http://www.anti-gravitydesign.com