axis2 入门 quickstart(webservice requested resource not found) -凯发k8网页登录

开发出高质量的系统

常用链接

统计

积分与排名

好友之家

最新评论

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”
试试下边的

一样的错误,什么原因呢?
最开始想到的是打开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>axisservletservlet-name>
 3        <url-pattern>/servlet/axisservleturl-pattern>
 4    servlet-mapping>
 5
 6    <servlet-mapping>
 7        <servlet-name>axisservletservlet-name>
 8        <url-pattern>*.jwsurl-pattern>
 9    servlet-mapping>
10
11    <servlet-mapping>
12        <servlet-name>axisservletservlet-name>
13        <url-pattern>/services/*url-pattern>
14    servlet-mapping>
说明大部分的处理都是通过axisservlet来转发的,而这个servlet只过滤以上三种情况,那么是不是官方文档错误呢?是不是第四个访问也需要让axisservlet来处理呢?试试吧,把改成

访问,成功返回需要的值,问题解决。webservice因为封装的多,所以debug困难,一个小问题都要忙活半天,还是以猜测为主,呵呵。

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

posted on 2009-01-31 11:20 dreamstone 阅读(3732) 评论(0)  编辑  收藏 所属分类: 其它开源框架

网站地图