• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

springmvc中使用axis2中的一些问题

mysql 搞代码 4年前 (2022-01-09) 20次浏览 已收录 0个评论

前两天,技术总监说最近我们项目中使用的一些技术比如数字签名,比如远程视频等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是

本文来源gao!%daima.com搞$代*!码9网(

/services路径,多了一个s,这时调用我们的services时总会出现各种错误。而后将url改成/services/*以后再调用我们的代码时,这时没有错误,调用成功。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:springmvc中使用axis2中的一些问题
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址