WAS7和WAS8.5布署Axis2 webservice
无论是was7还是was8,在安装带有Axis2的应用时,都很容易出现jar冲突的情况,最常见的有以下:
E com.ibm.ws.webcontainer.webapp.WebApp logServletError SRVE0293E: [Servlet 错误]-[AxisServlet]: org.apache.axis2.deployment.DeploymentException: org.apache.commons.fileupload.FileUploadException
或者
E com.ibm.ws.webcontainer.webapp.WebApp logServletError SRVE0293E: [Servlet Error]-[AxisServlet]: java.lang.ClassCastException: com.ibm.xml.xlxp2.api.wssec.WSSXMLInputFactory incompatible with javax.xml.stream.XMLInputFactory
was7比was8好解决一点,之前布署was7时大概查了两周资料才解决,后来迁到was8时,照was7的方法操作还是不行的,再查了一周资料才搞定,基本上,你看到这篇文章时,你在网上查的大部分文章、官网、资料我都有看过。
was版本 7 Axis2版本1.6.2
下面先从was7的解决方式开始说起
1:把modules下的六个文件
addressing-1.6.2.marmex-1.6.2.marmtompolicy-1.6.2.marping-1.6.2.marscripting-1.6.2.marsoapmonitor-1.6.2.mar
重命名后缀,把.mar改为.jar后放入应用lib目录下
addressing-1.6.2.jarmex-1.6.2.jarmtompolicy-1.6.2.jarping-1.6.2.jarscripting-1.6.2.jarsoapmonitor-1.6.2.jar
2:检查应用中是否有关于javaee的包,如
javaee*.jar
servlet-api-*.jar
有的话,删掉,打包时不要包含这些jar包,was容器中自带这些jar包了。
3:检查应用中是否有关于xmlbeans-*.jar的包,因为Axis2带有axis2-xmlbeans-1.6.2.jar了,所以有别的这样的包,也不用了。
4:最重要的一步
修改Classloader策略,企业应用程序 > 你的应用_war > 管理模块 > 你的应用.war
修改类装入器顺序 为: 类已装入并且是先使用本地类半入器(父类在后) ---相信英文版本也一眼就能看到 - -
行了,was7的现在启动就没问题了。
was7解决方案在IBM官方论坛有
http://www-01.ibm.com/support/docview.wss?mhq=axis2&mhsrc=ibmsearch_s&uid=swg21315686
现在进入更为麻烦的was8布署,环境为was8.5, Axis2仍为1.6.2
先得做完以上was7的操作。
在这里先列举一下我所看到的相关资料的解决方法
方案1 (最终结论非必须):
DisableIBMJAXWSEngine: true in the META-INF/MANIFEST.MF
方案2(与1应该是相同作用,最终结论非必须):
应用服务器--》yourserver-->java和进程管理 下的 进程定义--->其他属性下的 java虚拟机-->其他属性下的定制属性,
如果没有该属性,则新建之。
com.ibmcom.ibm.websphere.webservices.DisableIBMJAXWSEngine 为 true
方案3(我的应用没有,这个不知道):
删除了项目中的,如果有的话 webserviceclient.jar 和 aopalliance-1.0.jar
方案4(最终结论非必须):
将应用axis2.xml中的EnableChildFirstClassLoading 参数设为true
方案5 (好像也不是必须)
在安装war包的第一步操作里,把部署Web Service这个选项勾上。个人猜测这是was自己用来禁用自带webservice服务的选项,可能在一定程度上可以解决冲突。
方案6:最重要的一点
共享库解决方案。
冲突的jar包为axis2-adb-1.6.2.jar,把它放进共享库后,应用中的axis2-adb-1.6.2.jar也没必要删除,可删可不删。
建共享库时有很多细节需要注意,包不要放多了,也不能放少了,建完共享库后还要重启server生效,不止是应用,服务也是得重启的,节点倒是不用操作,这点非常重要!
下面开始建共享库以及引用共享库。
打开菜单环境 - 共享库 , 选好server作用域,如果是集群的话选集群配置,然后点新建菜单
接下来建立你的共享库,冲突的jar只有一个,axis2-adb-1.6.2.jar,注意选类加载隔离
然后很重要的一点要重启Server
菜单在服务器-服务器类型-
- WebSphere Application Server
选中你应用部署的Server重启,让共享库生效。
然后进应用绑定共享库
绑定完后,后退就可以看到引用到共享库了。至此结束。
这时候启动应用,就正常了。
WAS运行时的类加载顺序,可以去下面这个菜单看看
企业应用程序 >你的应用_war > 管理模块 > 你的应用.war > 查看类装入器(选择服务器) > 类装入器查看器
可以导出文件看下
至此所有问题解决。
现在就只剩一个问题,是如何知道导致冲突的是axis2-adb-1.6.2.jar
WAS7和WAS8.5布署Axis2 webservice相关推荐
- VSTO 2005 项目的布署和运行
服务器端建议: 最好不要发布到带有WSS/SPS的IIS上,因为那是一件相当麻烦的事: 最好使用标准的HTTP端口发布你的应用程序 应用程序发布时要特别注意manifest指向正确的位置,Web.Co ...
- 编写一份代码,支持多种布署方式
对于一个CS程序, 可以直接连接数据库(方式一); 为了安全起见,可能会通过web service来获取数据(方式二),此时客户端程序在一台机器上, Web Service在另外一台机器上. 两者在代 ...
- axis2 webService开发 附深入理解 Java 垃圾回收机制
相关文章: axis web服务(axis2安装和eclipse.tomcat结合开发) axis2 webService开发 axis2 webService开发(打包aar文件) 使用Axis2开 ...
- Django 布署6.5
布署 从uwsgi.nginx.静态文件三个方面处理 服务器介绍 服务器:私有服务器.公有服务器 私有服务器:公司自己购买.自己维护,只布署自己的应用,可供公司内部或外网访问 公有服务器:集成好运营环 ...
- CentOS5.5环境下布署LVS+keepalived
CentOS5.5环境下布署LVS+keepalived 2010-10-05 15:21:34 标签:负载均衡 LVS ipvsadm keepalived [推送到技术圈] 版权声明:原创作品,允 ...
- WCF布署问题1 :HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。...
.Net3.5的WCF服务在IIS7中发布后,在IE中访问.svc文件出现以下错误: HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理. ...
- WCF布署问题 :HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。...
下文作者当时用的是.Net Framework4.0 beta和vs.net 2010 beta2,而我遇到这个问题的时候,已经用上了正式版,问题一样,解决问题的方法也一样. .Net3.5的WCF服 ...
- DNS与Active Directory在两台服务器分别布署
以前dns与Ad布署时,一般习惯布署在同一台服务器上.以下一个视频,就是把DNS与Active Directory分别布署在两台服务器上. DEMO使用的测试域名为:virbiznet.com(Vir ...
- com+ 三层布署[未成功验证]
com+ 三层布署[未成功验证] com+ 三层布署[未成功验证] http://topic.csdn.net/u/20070910/10/f6c7614f-cdae-46a7-a9cd-87fdc6 ...
最新文章
- PHP从数据库获取的下拉树
- Android 性能分析工具dumpsys的使用(自己增加一部分在后面)
- VC++ 利用PDB和dump文件定位问题并进行调试
- 【杂文】企业数字化转型展望—角色转型
- OO真经——关于面向对象的哲学体系及科学体系的探讨(下)
- SpringBoot启动时实现自动执行代码的几种方式讲解
- c语言斐波那契数列前20项每行5个数,求c++:源程序。前20项斐波那契数列 ,要求输出的时候每行输出五个...
- Spring-外部配置的值是如何通过@Value注解获取的?
- 图书管理系统(大一C语言大作业 包含主要结构体,文件操作, 如数据的修改 查询 删除等)
- 计算机效果图线稿的制作方法,如何只用PS将线稿图变成高大上的效果图?
- 离线脱机版个人笔记软件的选择
- 手机app开发成本预算
- 格美家具网站项目总结
- 如何围绕自身打造个人IP,做长线引流布局?
- C#窗体应用程序之设置窗体名称和程序图标
- Parabola 抛物线-简单公式实现
- U3D AudioSource 完整音效截取部分
- DNS 的A记录、CNAME记录、mx记录
- 信息流广告投放相关概念与技术(DSP等,OCPA)
- 关于1000BASE-T1 1000BASE-TX和100BASE-T1
热门文章
- 哔哩哔哩 BV、AV互转 C#版
- Flink 结合 布隆过滤器(BloomFilter) 实现去重
- 怎么解决word中英文混合换行后字体间隔变大问题
- eclise导入已存在工程报 Faceted Project Problem 错误
- 为什么RISC-V中需要恒零寄存器?
- 几个简单好用的APP分享给你
- leetcode简单1742/867
- 电脑中的耳机插进去没有反应
- ioppc技术_广东电网有限责任公司河源供电局基于IOPPC线路光纤网络智能态势感知技术研究技术服务等5个项目采购公告...
- latex论文模板:中文小论文