SSH项目中暴露Web Service容易引起路径过滤的问题,struts的拦截器会先被执行.会把请求Web Service的路径也拦截了.
如果在SSH项目中要暴露Web Service.Struts的拦截器配置是拦截所有的路径,
而CXF的配置是拦截/webservice/*的请求.
这样的话就会先被struts拦截器拦截,
解决方法是:
在struts.xml文件中添加一个action让它不拦截webService的请求.<!-- 放行Web Service的请求
-->
<action name="webservice/*">
<result>webservice/{1}</result>
</action>
还可以直接让struts只拦截以.do,.action或其他的请求,这样的话也是一种方式.
但是本人觉得第一种更适用,因为我们一般的程序配置的话struts的拦截路径都是/*.