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)  編輯  收藏 所屬分類: 其它開源框架

          主站蜘蛛池模板: 广元市| 永靖县| 当阳市| 兰西县| 隆回县| 柞水县| 信丰县| 绵阳市| 侯马市| 九江市| 宜章县| 吉林省| 宜良县| 浦城县| 万宁市| 潼关县| 银川市| 曲水县| 宁波市| 正蓝旗| 河津市| 永宁县| 若尔盖县| 攀枝花市| 永兴县| 正蓝旗| 乐业县| 静安区| 洛浦县| 庆云县| 淳安县| 新兴县| 多伦县| 连城县| 原阳县| 香港 | 德州市| 巴林左旗| 蓬安县| 镇江市| 南丹县|