> 데이터 베이스 > MySQL 튜토리얼 > springmvc中使用axis2中的一些问题

springmvc中使用axis2中的一些问题

WBOY
풀어 주다: 2016-06-07 15:00:58
원래의
1277명이 탐색했습니다.

前两天,技术总监说最近我们项目中使用的一些技术比如数字签名,比如远程视频等webservice使用的都是axis2,于是我只能开始将前两天写的cxf改成axis,经过两天多的试验,终于试出来,好吧,下面发一下在试验过程中一些问题和解决方法。 1axis1.4中jar路径有

前两天,技术总监说最近我们项目中使用的一些技术比如数字签名,比如远程视频等webservice使用的都是axis2,于是我只能开始将前两天写的cxf改成axis,经过两天多的试验,终于试出来,好吧,下面发一下在试验过程中一些问题和解决方法。

         1axis1.4中jar路径有空格会导致invalid path 错误,后来发现是axis2的bug,在后来的版本中被修复。于是将axis2的版本升级到1.6.2,axis2的1.5版本以后,axis2被分成了很多包,不在是一个包,比如transport,所以在maven中将这些依赖包一一加入,又因为在axis2-transport中又包含了一个servlet.jar,这个在前面已经加入了,所以将transport中的依赖包排除掉。

         2services.xml放置问题,这个是刚开始没注意,有的教程上说放在classpath下的META-INF目录下,不过发现不行,后来又从头看教程,终于发现说实在web-inf下建立services目录然后在service目录中新建一个axis目录(这个目录名称可以随意写,当然不要有空格,中文之类的),然后在axis目录下新建META-INF,然后将services.xml放到该目录下在,然后就可以看到部署的wsdl

3 springmvc与axis结合的问题,在axis2的services.xml中使用spring管理的bean,而我们项目中采用的是springmvc的servlet来初始化我们的spring容器,而不是使用contextLoadLister,这时部署可以,wsdl可以出来,但是wsdl中看不到我们写的service,所以将mvc的bean还是用springmvc的servlet来加载,然后axis2的bean使用contextLoadLister来加载。这里使用了axis2使用了spring,所以要加入axis2-spring的依赖。

4这个问题很莫名奇妙,我是试了N久才试出来的,但是原因不明,我在web.xml中配置的AxisServlet的url是/service/*,而后通过部署后的soap:address是/services路径,多了一个s,这时调用我们的services时总会出现各种错误。而后将url改成/services/*以后再调用我们的代码时,这时没有错误,调用成功。

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿