首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

Apache CXF应用向Weblogic部署有关问题解决记录

2012-09-25 
Apache CXF应用向Weblogic部署问题解决记录问题环境:Apache CXF 2.0.3 Weblogic 9.2 开发测试环境:tomcat5

Apache CXF应用向Weblogic部署问题解决记录
问题环境:
Apache CXF 2.0.3
Weblogic 9.2

开发测试环境:
tomcat5.5
tomcat6

在开发测试环境下一切正常,发布到weblogic9.2以后就出现了N多问题,花费了不少时间,所以必须记录一下。

第一个问题 weblogic.application.ModuleException: Unmarshaller failed
com.bea.xml.XmlException: failed to load java type corresponding to e=web-app@http://java.sun.com/xml/ns/javaee
问题处置:这是一个简单的问题,开发时候选择的J2EE版本是1.5,但是weblogic9支持的J2EE版本是1.4,因此对WEB-INFO下的web.xml做出调整:


修改为


第二个问题 警告: Can't find the request for http://127.0.0.1:7001/xxxService's Observer
问题处置: 发现cxf的服务没有被自动发布,怀疑是spring配置文件没有加载问题,后来确认果然是Weblogic下不支持spring配置文件的通配符配置

想要让weblogic用我们自己的class,结果仍旧是Unable to access unsupported property javax.xml.stream.supportDTD

c.在WEB-INF下增加weblogic.xml

让weblogic使用应用程序内部的jar包发布应用,结果得到了java.lang.LinkageError: loader constraints violated when linking javax/xml/namespace/QName class
分析原因,应该是lib当中的jar包与weblogic之前加载的jar包冲突了,weblogic内部就有几个文件包含QName。 使用classfind工具查找lib当中包含QName的jar包,将QName.class去掉

至此,问题均被排除,应用程序发布正常。删除QName包这是不得已而为之,这样对版本管理不太好,但是面对weblogic,这是没有办法的办法。

之后将CXF升级到最新的版本2.5.2,又发生了一些有趣的故事。

java class finder工具http://www.idesksoft.com/classfinder.html 1 楼 上官车月 2012-04-17   我才被weblogic折腾完,

热点排行