bruce 轉貼 (參與分:18537,專家分:3650) 發表:2002-8-20 下午2:27 版本:1.0 閱讀:5105次
Author:瘋傻 madfool@163.net
相關下載:
Apache SOAP http://xml.apache.org/soap/index.html
Tomcat4.0.4 http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.0.4/
1.安裝Apache SOAP到C盤根目錄,即C:\soap-2_3_1
http://www.javaresearch.org/article/showarticle.jsp?column=5&thread=1641
2.安裝Tomcat4.0.4到C:\Program Files\Apache Tomcat 4.0
3.復制C:\soap-2_3_1\webapps\soap.war文件到C:\Program Files\Apache Tomcat 4.0\webapps目錄下
4.建立測試目錄C:\soaptest和C:\soaptest\classes
5.修改系統環境變量CLASSPATH,加入C:\soaptest\classes\test.jar
6.啟動Tomca4.0.4,方法有兩個:A.執行C:\Program Files\Apache Tomcat 4.0\bin\startup.ba;B.通過系統管理的服務管理開啟Apache Tomcat4.0.4
7.建立測試java源文件,源文件應放置在目錄C:\soaptest下
//SimpleMath.javapackage test;public class SimpleMath{ public double getSinValue(double input) { double ret = Math.sin(input); return ret; }}
---第二個JAVA源文件----------------
//SimpleMathClient.javapackage test;import java.io.*;import java.net.*;import java.util.*;import org.apache.soap.util.xml.*;import org.apache.soap.*;import org.apache.soap.rpc.*;public class SimpleMathClient{ public static void main(String[] args) throws Exception { System.err.println("SOAP call testing"); double value = Math.random(); SimpleMathClient smc = new SimpleMathClient(); //調用遠程的SOAP服務 double returnValue = smc.doRequest(value); System.err.println("the sin value of "+value +"is: "+returnValue); } public double doRequest(double value) throws Exception { // Build the call. Call call = new Call (); //設置遠程對象的URI call.setTargetObjectURI ("urn:test.math.sin"); //設置調用的方法名 call.setMethodName ("getSinValue"); //設置編碼風格 call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC); //設置方法調用的參數 Vector params = new Vector (); params.addElement (new Parameter("input", double.class, new Double (value), null)); call.setParams (params); //發送RPC請求 Response resp = call.invoke (new URL("http://127.0.0.1:8080/soap/servlet/rpcrouter"),""); if (resp.generatedFault ()) { //遠程調用出錯處理 Fault fault = resp.getFault (); System.out.println ("the call failed: "); System.out.println (" Fault Code = " + fault.getFaultCode ()); System.out.println (" Fault String = " + fault.getFaultString ()); return 0.0d; } else { //調用成功,獲取返回值 Parameter result = resp.getReturnValue (); return ((Double)result.getValue()).doubleValue(); } }}
8.編譯java源文件,并打包
a. cd c:\soaptest
b. javac -d classes *.java
c. cd classes
d. jar -cvf test.jar test
9.SOAP服務的發布
使用IE瀏覽器瀏覽http://localhost:8080/soap/admin/index.html,進入Deploy,填寫如下信息:
ID: urn:test.math.sin
Scope: Request
Methods getSinValue
Provider Type: Java
Java Provider Provider Class: test.SimpleMath
Java Provider Static: NO
確認發布,可以點List查看已發布服務!
10.運行測試程序
a. cd c:\soaptest
b. java test.SimpleMathClien
應該可以看到返回的數值,則證明配置和測試成功,以后就可以發布自己的SOAP服務了!
jhsea3do 回復于:2004-02-11 13:49:59 |
現在都開始用axis了,soap快要成為過去式了 |
ruochen 回復于:2005-03-18 16:22:37 |
axis
soap 都不知道是什么東西! 麻煩請解釋下! |
regedit 回復于:2005-04-25 22:01:48 |
axis C/C++ 在linux 下的makefile 需要加載那些庫文件啊,剛開始學,多多指教,謝謝! |
jhsea3do 回復于:2005-04-26 19:32:58 |
哦,好像的確是有一個C版本的,
庫中起碼要一個 Xerces 的庫吧,去C版問 |
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/
領測軟件測試網最新更新
關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
技術支持和業務聯系:info@testage.com.cn 電話:010-51297073
版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
技術支持和業務聯系:info@testage.com.cn 電話:010-51297073
老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月