DANCE WITH JAVA

          開發出高質量的系統

          常用鏈接

          統計

          積分與排名

          好友之家

          最新評論

          axis2 入門 quickstart(webservice Requested resource not found)

          axis2入門最多的人應該是從axis2的官方教程中的quickstart開始,但是axis2的官方教程中存在著一個小小的錯誤,本文詳細謝謝這個錯誤的產生及原因。對于細節的操作因為下邊有官方及翻譯的版本,我不再細說
          官方quickstart doc url
          http://ws.apache.org/axis2/1_1_1/quickstartguide.html#introduction

          一個兄弟翻譯的版本
          http://hideto.javaeye.com/blog/56835

          按照教程中講解的,放好war包,編譯完成例子,把StockQuoteService.aar拷貝到webapps\axis2\WEB-INF\services下,后臺出現部署成功的提示。
          按照教程依次訪問
          http://localhost:8080/axis2/services/listServices
          http://localhost:8080/axis2/services/StockQuoteService?wsdl
          http://localhost:8080/axis2/services/StockQuoteService?xsd
          http://localhost:8080/axis2/rest/StockQuoteService/getPrice?symbol=IBM
          前三個都能成功,但是最后一個訪問的時候一直會報錯誤,頁面提示“Requested resource not found”
          試試下邊的
          http://localhost:8080/axis2/rest/StockQuoteService/update?symbol=IBM&price=100
          一樣的錯誤,什么原因呢?
          最開始想到的是打開debug看看,結果如下:
           1[DEBUG] Start expire sessions StandardManager at 1233371524421 sessioncount 1
           2[DEBUG] End expire sessions StandardManager processingTime 0 expired sessions: 0
           3[DEBUG] servletPath=/axis2-web/Error/error404.jsp, pathInfo=null, queryString=null, name=null
           4[DEBUG]  Path Based Forward
           5[DEBUG] JspEngine --> /axis2-web/Error/error404.jsp
           6[DEBUG]          ServletPath: /axis2-web/Error/error404.jsp
           7[DEBUG]             PathInfo: null
           8[DEBUG]             RealPath: D:\appserver\apache-tomcat-5.5.25\webapps\axis2\axis2-web\Error\error404.jsp
           9[DEBUG]           RequestURI: /axis2/axis2-web/Error/error404.jsp
          10[DEBUG]          QueryString: symbol=IBM
          11[DEBUG]       Request Params: 
          12[DEBUG]          symbol = IBM
          13[DEBUG] servletPath=/axis2-web/include/httpbase.jsp, pathInfo=null, queryString=null, name=null
          14[DEBUG]  Path Based Include
          15[DEBUG] JspEngine --> /axis2-web/include/httpbase.jsp
          16[DEBUG]          ServletPath: /axis2-web/Error/error404.jsp
          17[DEBUG]             PathInfo: null
          18[DEBUG]             RealPath: D:\appserver\apache-tomcat-5.5.25\webapps\axis2\axis2-web\include\httpbase.jsp
          19[DEBUG]           RequestURI: /axis2/axis2-web/Error/error404.jsp
          20[DEBUG]          QueryString: symbol=IBM
          21[DEBUG]       Request Params: 
          22[DEBUG]          symbol = IBM
          23[DEBUG]  Disabling the response for futher output
          24
          看到原因是404錯誤,這個錯誤太常見了,想想什么原因?先看看axis2 war包的結構吧,第一個當然是web.xml打開看了一遍,有個印象,然后在看看,沒有用什么框架,那關鍵還是web.xml,仔細看這段
           1 <servlet-mapping>
           2        <servlet-name>AxisServlet</servlet-name>
           3        <url-pattern>/servlet/AxisServlet</url-pattern>
           4    </servlet-mapping>
           5
           6    <servlet-mapping>
           7        <servlet-name>AxisServlet</servlet-name>
           8        <url-pattern>*.jws</url-pattern>
           9    </servlet-mapping>
          10
          11    <servlet-mapping>
          12        <servlet-name>AxisServlet</servlet-name>
          13        <url-pattern>/services/*</url-pattern>
          14    </servlet-mapping>
          說明大部分的處理都是通過AxisServlet來轉發的,而這個servlet只過濾以上三種情況,那么是不是官方文檔錯誤呢?是不是第四個訪問也需要讓AxisServlet來處理呢?試試吧,把http://localhost:8080/axis2/rest/StockQuoteService/getPrice?symbol=IBM改成
          http://localhost:8080/axis2/services/StockQuoteService/getPrice?symbol=IBM
          訪問,成功返回需要的值,問題解決。webservice因為封裝的多,所以debug困難,一個小問題都要忙活半天,還是以猜測為主,呵呵。

          另外補充一個小tips,只要以“爆炸”方式部署webservice,就是不打aar 包,就能debug   pojo中的代碼了。

          posted on 2009-01-31 11:20 dreamstone 閱讀(3892) 評論(0)  編輯  收藏 所屬分類: 其它開源框架

          主站蜘蛛池模板: 扬中市| 长葛市| 东丰县| 万州区| 新龙县| 凉山| 佛山市| 杨浦区| 潢川县| 罗甸县| 翼城县| 泗洪县| 大城县| 集安市| 瓦房店市| 蓝田县| 洛浦县| 海丰县| 兖州市| 桑植县| 盖州市| 庆城县| 英德市| 乌拉特中旗| 宁城县| 安康市| 昌图县| 文昌市| 巩义市| 项城市| 论坛| 东山县| 社旗县| 青河县| 东乌珠穆沁旗| 贵州省| 大英县| 台北县| 齐齐哈尔市| 清丰县| 新密市|