Terry.Li-彬

          虛其心,可解天下之問;專其心,可治天下之學;靜其心,可悟天下之理;恒其心,可成天下之業。

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            143 隨筆 :: 344 文章 :: 130 評論 :: 0 Trackbacks

          這篇帖子是對《使用Axis發布簡單的Web服務》的補充。

          可以看出,在Axis里書寫deploy.wsdd并利用org.apache.axis.client.AdminClient發布,其主要工作就是把<service>標簽中的內容添加在server-config.wsdd里,所以一般直接編輯server-config.wsdd文件會更方便一些。不過當你還沒有server-config.wsdd文件時,使用deploy.wsdd的方法會更方便些,因為AdminClient會幫你生成一些額外的xml元素(<handler>等等),而這些元素是必要的。

          服務發布以后,就可以在IE瀏覽器里看到它的WSDL,一般是服務的URL后面加一個“?wsdl”,例如添加圖書的WSDL可以通過http://localhost:8080/bookstore/services/BookSvc?wsdl看到。至于Java類是以何種規則映射到WSDL的,請參考JAX-RPC規范;WSDL本身的說明見這里;為了搞清生成的WSDL中各種URL格式的名稱空間,最好對XML Schema有所了解,我覺得這篇文章還不錯。

          我們還可以通過IE瀏覽器直接調用服務,方法是在服務URL后加“method=xxx”,其中xxx是要調用的方法名稱。例如可以通過http://localhost:8080/bookstore/services/BookSvc?method=addBook調用添加圖書方法,按照我們的服務類,在Tomcat的控制臺上應該可以看到打出了“Book has been added.”的字樣。

          因為添加圖書方法的參數是一個自定義類型,所以在IE里調用時不能指定參數值(或者是可以以其他格式指定,但我還不知道);如果參數是簡單類型,就可以指定了。例如我們可以為BookSvc增加一個echo()方法,參數是一個java.lang.String類型的值,如下所示,然后重新編譯并啟動Tomcat(server-config.wsdd文件不必更改)。

          public void echo(String str){
              System.out.println(
          "Hello "+str);
          }

          在IE里輸入http://localhost:8080/bookstore/services/BookSvc?method=echo&str=Mike,就會看到Tomcat的控制臺里打出了“Hello Mike”。如果有多個參數,只要把這些參數都列在URL里即可。

          posted on 2007-11-24 23:41 禮物 閱讀(425) 評論(0)  編輯  收藏 所屬分類: webservice
          主站蜘蛛池模板: 正阳县| 灌云县| 安庆市| 焦作市| 江达县| 怀宁县| 新和县| 芒康县| 弋阳县| 合阳县| 隆尧县| 清流县| 北京市| 剑川县| 甘德县| 伽师县| 和林格尔县| 通辽市| 枣阳市| 鄢陵县| 香河县| 织金县| 专栏| 甘谷县| 正定县| 喜德县| 郸城县| 高邮市| 宾川县| 拜泉县| 南皮县| 永吉县| 遵义市| 正蓝旗| 正安县| 唐海县| 黄梅县| 虞城县| 宝应县| 缙云县| 淮北市|