KK

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

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

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

              1、環(huán)境 J2SE SDK 1.3 or 1.4:我使用 1.4.2
              Servlet Container:我使用的Tomcat 5.0

            2、到 http://ws.Apache.org/axis/ 網(wǎng)站下載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、以上步驟執(zhí)行成功,可以開發(fā)webservice例子了

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

            1.編寫服務(wù)端程序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、編寫訪問服務(wù)的客戶端 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的部署和開發(fā),分別為:

            1、Dynamic Invocation Interface ( DII)

            2、Stubs方式

            3、Dynamic Proxy方式

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

          Feedback

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

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

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


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


          網(wǎng)站導(dǎo)航:
           
          jj
          主站蜘蛛池模板: 菏泽市| 沁水县| 栾川县| 集安市| 清丰县| 金溪县| 天祝| 兴山县| 将乐县| 班玛县| 扬州市| 忻城县| 赤城县| 浦县| 唐山市| 荆门市| 高唐县| 红河县| 越西县| 西乌| 微博| 班玛县| 荔波县| 义马市| 黄石市| 攀枝花市| 华容县| 兴化市| 富民县| 平和县| 龙口市| 东乌| 惠州市| 汾西县| 桂平市| 平安县| 北宁市| 莲花县| 镇雄县| 东光县| 康定县|