程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Web Services在Tomcat4.0.4的安裝和測試

Web Services在Tomcat4.0.4的安裝和測試

編輯:關於JAVA
相關下載:

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

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.java

            package test;

            public class SimpleMath

            {

            public double getSinValue(double input)

            {

            double ret = Math.sin(input);

            return ret;

            }

            }

            ---第二個JAVA源文件----------------

            //SimpleMathClIEnt.java

            package 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服務了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved