KK

          Kim-'s-Blog.Object-Everything.I'm POJO.

          .紀-錄.爲了忘卻的記憶..真的勇士,要敢于直面遇到的問題,敢于正視繁雜的原碼......在實踐中積累!

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            74 Posts :: 1 Stories :: 70 Comments :: 0 Trackbacks
          一、Axis安裝

              1、環境 J2SE SDK 1.3 or 1.4:我使用 1.4.2
              Servlet Container:我使用的Tomcat 5.0

            2、到 http://ws.Apache.org/axis/ 網站下載Axis安裝包

            3、解壓縮安裝包,
          ????????????? 將Axis UNZIP_PATH\Axis-version\webapps下的Axis包拷貝到?
          ????????????? TOMCAT_HOME\webapps\下,以下約定Axis_HOME為該TOMCAT_HOME\webapps\axis目錄

            4、啟動tomcat, 訪問http://localhost:8080/axis 檢查安裝是否成功,本機為http://localhost:7777/axis

            5、以上步驟執行成功,可以開發webservice例子了

          二、編寫DII(Dynamic Invocation Interface )方式web服務

            1.編寫服務端程序SayHello.java

          ??????? public class SayHello {
          ??????????? public String getName(String name) {
          ??????????????? return "hello "+name;
          ??????????? }
          ??????? }
          ??????? 2、將源碼拷貝到Axis_HOME下,重命名為SayHello.jws

            3、訪問連接http://localhost:7777/axis/SayHello.jws?wsdl,頁面顯示Axis自動生成的wsdl

            4、編寫訪問服務的客戶端 SayHelloClient.java
          ??????? import org.apache.axis.client.Call;
          ??????? import org.apache.axis.client.Service;
          ??????? import javax.xml.namespace.QName;
          ??????? import javax.xml.rpc.ServiceException;
          ??????? import java.net.MalformedURLException;
          ??????? import java.rmi.RemoteException;

          ??????? public class SayHelloClient {
          ??????????? public static void main(String[] args) {
          ??????????????? try {
          ??????????????????? String endpoint = "http://localhost:7777/axis/SayHello.jws";
          ??????????????????? Service service = new Service();
          ??????????????????? Call call = null;
          ??????????????????? call = (Call) service.createCall();
          ??????????????????? call.setOperationName(new QName("http://localhost:7777/axis/SayHello.jws",
          ??????????????????? "getName"));
          ??????????????????? call.setTargetEndpointAddress(new java.net.URL(endpoint));
          ??????????????????? String ret = (String) call.invoke(new Object[] {"Kim"});
          ??????????????????? System.out.println("return value is " + ret);
          ??????????????? }
          ??????????????? catch (Exception ex) {
          ??????????????????? ex.printStackTrace();
          ??????????????? }
          ??????????? }
          ??????? }
          5.運行該Java文件
          顯示return value is hello Kim
          OK!

          另:
          Axis支持三種web service的部署和開發,分別為:

            1、Dynamic Invocation Interface ( DII)

            2、Stubs方式

            3、Dynamic Proxy方式

          posted on 2006-12-18 14:52 Kim' 閱讀(739) 評論(2)  編輯  收藏

          Feedback

          # re: Axis編寫最簡單的WebService SOAP[未登錄] 2009-08-12 16:11 cloud
          你好!請問一下:若是輸入中文
          String ret = (String) call.invoke(new Object[] {"中文"});

          會變成亂碼,要如何解決呢?  回復  更多評論
            

          # re: Axis編寫最簡單的WebService SOAP 2009-08-21 14:39 Kim'
          我現在webservice用的CXF,
          Axis
          可以在發消息前對中文進行Encode..比如Unicode
          中文
          \u4e2d\u6587
          服務器再解析之
          這樣應該可以解決  回復  更多評論
            


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          jj
          主站蜘蛛池模板: 南郑县| 云霄县| 太仆寺旗| 睢宁县| 望都县| 漾濞| 香港| 崇阳县| 从化市| 无为县| 定远县| 普洱| 陆川县| 汪清县| 吕梁市| 昌宁县| 铁岭市| 通渭县| 桐城市| 铜梁县| 方正县| 分宜县| 平凉市| 宝坻区| 辽阳县| 会同县| 布拖县| 金秀| 绥中县| 慈溪市| 宁陵县| 佛山市| 沈丘县| 松潘县| 兴宁市| 上思县| 田东县| 祁门县| 江都市| 吉林市| 永登县|