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
          主站蜘蛛池模板: 宝坻区| 米易县| 赞皇县| 南江县| 共和县| 稷山县| 唐山市| 东丽区| 古交市| 贵德县| 通海县| 德江县| 东阿县| 荥阳市| 怀来县| 会泽县| 绍兴市| 都江堰市| 益阳市| 嘉善县| 贺兰县| 灌阳县| 高阳县| 开封县| 新竹市| 广东省| 花莲市| 绩溪县| 海丰县| 丘北县| 都安| 新宾| 女性| 吉隆县| 隆德县| 普定县| 峡江县| 石台县| 中宁县| 怀柔区| 弥渡县|