狼愛上貍

          我胡漢三又回來了

          導航

          <2007年6月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          1234567

          統計

          常用鏈接

          留言簿(20)

          隨筆分類

          隨筆檔案

          hideto

          java友

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          學習Axis和web service之一

          學習Axis和web service之一
          web service由于工作中需要用到,所以那天從網上GOOGLE一下,查看如何制作自己的第一個WEB SERVICE。首先,web service的原理我就不多講了,再怎么講也不如人家講的好,況且都是從別人那里拷貝的。還是整點實際的吧。馬上建立自己的WEB SERVICE的程序。

          一.首先下載安裝軟件:
          1.axis-src-1_2_1,(自己去下載,地址忘記了)
          2.jakarta-tomcat-5.0.18.exe(這個是安裝版本,從別的地方拷貝也可以的)
          最少也要有這兩個包

          二.安裝
          自己安裝吧。挺簡單的。TOMCAT安裝最好改一下名字比如:TOMCAT

          三.
          1.將axis-src-1_2_1這個包解壓后,將axis-1_2_1\webapps下axis的所有東西拷貝到你剛剛建立的TOMCAT的webapps下。目錄結構如下:
          tomcat-webapps-axis
          然后查看一下你的axis的WEB-INF的lib下*.jar文件是否全,應該有8個
          axis.jar
          axis-ant.jar
          commons-discovery-0.2.jar
          commons-logging-1.0.4.jar
          jaxrpc.jar
          log4j-1.2.8.jar
          saaj.jar
          wsdl4j-1.5.1.jar
          (一定看好各個文件的文件名,一會將配置CLASSPATH)

          2.然后到axis-1_2_1目錄下,找到lib文件夾,拷貝其中的activation.jar文件,到
          Tomcat\webapps\axis\WEB-INF\lib,和上面的8個jar文件在一起,就OK了。

          四.配置classpath
          我的電腦-右鍵屬性-高級-環境變量
          1.建立變量:AXIS_HOME=D:\Tomcat\webapps\axis(你自己的實際TOMCAT目錄)
          2.建立變量:AXIS_LIB=%AXIS_HOME%\WEB-INF\lib
          建立這兩個環境變量
          3.classpath(相信這個變量里面肯定有值,TOMCAT安裝的時候配置過)

          .;%JAVA_HOME%\lib\dt.jar;
          %JAVA_HOME%\lib\tools.jar;
          %TOMCAT_HOME%\lib;(以上三個都是安裝TOMCAT配置的,下面是axis的)
          %AXIS_LIB%\axis.jar;
          %AXIS_LIB%\commons-discovery-0.2.jar;
          %AXIS_LIB%\commons-logging-1.0.4.jar;
          %AXIS_LIB%\jaxrpc.jar;
          %AXIS_LIB%\saaj.jar;
          %AXIS_LIB%\log4j-1.2.8.jar;
          %AXIS_LIB%\wsdl4j-1.5.1.jar;
          %AXIS_LIB%\activation.jar;
          %AXIS_LIB%\mail.jar
          拷貝到classpath里面就可以了,然后點擊確定。

          五.測試
          這步很重要,我自己覺得,因為如果你不知道CLASSPATH是否配置齊全,所以應該測試一下,有些文章沒有測試直接就往下走了,但是就出現問題了,我就出現了問題,是jar包沒有導入造成的,錯誤信息如這樣:
          Exception in thread "main" java.lang.NoClassDefFoundError:

          javax/wsdl/OperationType
          at org.apache.axis.description.OperationDesc.<clinit>(OperationDesc.java
          :58)
                  at org.apache.axis.client.Call.addParameter(Call.java:948)
                  at org.apache.axis.client.Call.addParameter(Call.java:983)
                  at BankClient.main(BankClient.java:29)
          這就是沒有導入造成的錯誤。
          其實你先看一下classpath就能避免錯誤。
          點擊開始-運行-cmd-打開命令行窗口-敲入set classpath,好了你配置的classpath完全顯示了,你可以仔細的查看了。

          六調試AXIS
          啟動TOMCAT,輸入網址 http://localhost:8080/axis, 出現 "Hello! Welcome to Apache-Axis." 歡迎詞, 點擊鏈接 Validate 來驗證 Axis 所需的 .jar 包是否齊全 (Needed Components).

          七.開發一個 Web Service 服務端程序
          (代碼是轉貼,謝謝!)
          我的這個例子是使用 Web Service 返回一個請求字段的值.

          import java.util.*;
           
          public class wsTestService
          {
            String strName = "Ryun";
            int intAge = 21;
            List items = new ArrayList();
            
            public String getName() {
              return strName;
             }
            
            public int getAge() {
              return intAge;
             }
            
            public List getItems() {
              return items;
             }
          }將此文件命名為 wsTestService.jws 存放到
          d:\tomcat\webapp\axis\下
          訪問 http://localhost:8080/axis/wsTestService.jws, 出現 "There is a Web

          Service here"即表明 Web Service 服務端程序安裝完成.
          開發一個 Web Service 客戶端程序
          建立客戶端程序wsTestClient.java
          以下是客戶端的源程序, 用于向 Web Service Server 提交服務請求:

          import org.apache.axis.client.Call;
          import org.apache.axis.client.Service;
           
          public class wsTestClient {
            public static void main(String args[]) {
              System.out.println("Start invoking...");
              try {
                String strUri =

          "http://localhost:8080/axis/wsTestService.jws";
                Service service = new Service();
                Call call = (Call)
                service.createCall();
                call.setTargetEndpointAddress(new

          java.net.URL(strUri));
                call.setOperationName("getName");
                String ret = "" + call.invoke(new Object[] {});
                System.out.println("I am " + ret + ".");
               }
              catch (Exception e) {
                System.err.println(e.toString());
               }
              System.out.println("Finished the invoking.");
              }
          }
          然后編譯運行,如果出現問題,那可能是環境變量path,classpath配置的問題,自己查看

          一下,這里就不再描述了。
          C:\>cd \
          C:\>javac wsTestClient.java
           
          C:\>java wsTestClient
          Start invoking...
          I am Ryun.
          Finished the invoking.
          完成,再去學習,稍后總結


          來自:
          http://www.cnweblog.com/battleseagull/articles/20130.html

          posted on 2007-06-21 15:54 狼愛上貍 閱讀(2399) 評論(0)  編輯  收藏 所屬分類: AXIS

          主站蜘蛛池模板: 正镶白旗| 云阳县| 永和县| 鱼台县| 梁平县| 青阳县| 伊宁县| 吉安县| 银川市| 东平县| 江油市| 岑溪市| 扎囊县| 琼中| 乌拉特前旗| 措勤县| 同仁县| 班玛县| 宁明县| 周至县| 揭东县| 日喀则市| 江门市| 浦城县| 昌黎县| 信宜市| 邹城市| 大方县| 宜春市| 乳山市| 久治县| 石河子市| 龙泉市| 涪陵区| 平舆县| 开平市| 江门市| 盱眙县| 吴川市| 博湖县| 屯留县|