热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

springmvc中使用axis2中的一些问题

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

前两天,技术总监说最近我们项目中使用的一些技术比如数字签名,比如远程视频等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/*以后再调用我们的代码时,这时没有错误,调用成功。

推荐阅读
  • 深入解析SpringMVC核心组件:DispatcherServlet的工作原理
    本文详细探讨了SpringMVC的核心组件——DispatcherServlet的运作机制,旨在帮助有一定Java和Spring基础的开发人员理解HTTP请求是如何被映射到Controller并执行的。文章将解答以下问题:1. HTTP请求如何映射到Controller;2. Controller是如何被执行的。 ... [详细]
  • 本文详细介绍了如何使用Spring Boot进行高效开发,涵盖了配置、实例化容器以及核心注解的使用方法。 ... [详细]
  • 本文介绍如何在 Unity 的 XML 配置文件中,将参数传递给自定义生命周期管理器的构造函数。我们将详细探讨 CustomLifetimeManager 类的实现及其配置方法。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 本文探讨了在 ASP.NET MVC 5 中实现松耦合组件的方法。通过分离关注点,应用程序的各个组件可以更加独立且易于维护和测试。文中详细介绍了依赖项注入(DI)及其在实现松耦合中的作用。 ... [详细]
  • Startup 类配置服务和应用的请求管道。Startup类ASP.NETCore应用使用 Startup 类,按照约定命名为 Startup。 Startup 类:可选择性地包括 ... [详细]
  • Struts与Spring框架的集成指南
    本文详细介绍了如何将Struts和Spring两个流行的Java Web开发框架进行整合,涵盖从环境配置到代码实现的具体步骤。 ... [详细]
  • 本文作者分享了在阿里巴巴获得实习offer的经历,包括五轮面试的详细内容和经验总结。其中四轮为技术面试,一轮为HR面试,涵盖了大量的Java技术和项目实践经验。 ... [详细]
  • 本文介绍了如何利用 Spring Boot 和 Groovy 构建一个灵活且可扩展的动态计算引擎,以满足钱包应用中类似余额宝功能的推广需求。我们将探讨不同的设计方案,并最终选择最适合的技术栈来实现这一目标。 ... [详细]
  • 本文详细介绍了 Flink 和 YARN 的交互机制。YARN 是 Hadoop 生态系统中的资源管理组件,类似于 Spark on YARN 的配置方式。我们将基于官方文档,深入探讨如何在 YARN 上部署和运行 Flink 任务。 ... [详细]
  • 本文介绍了一种在 MySQL 客户端执行 NOW() 函数时出现时间偏差的问题,并详细描述了如何通过配置文件调整时区设置来解决该问题。演示场景中,假设当前北京时间为2023年2月17日19:31:37,而查询结果显示的时间比实际时间晚8小时。 ... [详细]
  • Kubernetes 持久化存储与数据卷详解
    本文深入探讨 Kubernetes 中持久化存储的使用场景、PV/PVC/StorageClass 的基本操作及其实现原理,旨在帮助读者理解如何高效管理容器化应用的数据持久化需求。 ... [详细]
  • 本文详细介绍了C++中map容器的多种删除和交换操作,包括clear、erase、swap、extract和merge方法,并提供了完整的代码示例。 ... [详细]
  • Python 内存管理机制详解
    本文深入探讨了Python的内存管理机制,涵盖了垃圾回收、引用计数和内存池机制。通过具体示例和专业解释,帮助读者理解Python如何高效地管理和释放内存资源。 ... [详细]
author-avatar
僵尸粉丝鸡蛋_556
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有