weblogic部署的问题 Can't find wsdl /wsdls/wsat11/wstx-wsat-1.1-wsdl-200702.wsdl
当前情况描述:
本项目是一个通过WebService向前台提供接口及数据支持的系统,用户hibernate来做数据持久化,部署在weblogic上是为了使用其的连接池。(曾经配置成功过proxool的连接池方法,可以使用,后来决定用weblogic来提供连接池)
weblogic使用的是wlserver_10.3,hibernate是3
在hibernate.cfg.xml中,配置使用weblogic中的数据源JDBCorcl,而该数据源已配置为连接池模式
<!-- hibernate调用Weblogic的连接池设置 --> <property name="hibernate.connection.datasource">JDBCorcl</property> <property name="hibernate.connection.provider_class">org.hibernate.connection.DatasourceConnectionProvider</property> <!-- SQL dialect指定连接的语言 --> <property name="dialect">org.hibernate.dialect.Oracle10gDialect</property> <!-- Enable Hibernate's automatic session context management --> <property name="current_session_context_class">thread</property> <!-- Echo all executed SQL to stdout 是否将运行期间生成的SQL输出到日志以供调试--> <property name="show_sql">true</property> <!-- Drop and re-create the database schema on startup --> <property name="hbm2ddl.auto">update</property>
为防止weblogic的包与项目中的包冲突,因此加入了weblogic.xml文件来帮忙,放置在与web.xml同目录下。
weblogic.xml为:
<?xml version="1.0" encoding="UTF-8"?> <weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/10" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <jsp-descriptor> <keepgenerated>false</keepgenerated> <!-- page-check-seconds默认值是1,表示每隔1秒对JSP页面进行检查,检查JSP页面是否被修改、是否需要重新编译。 系统上线后会影响性能,需要对该默认值修改为-1,表示永不检查 --> <page-check-seconds>-1</page-check-seconds> <verbose>true</verbose> <encoding>UTF-8</encoding> <debug>true</debug> </jsp-descriptor> <container-descriptor> <!-- 指示优先从部署项目的WEB-INF/lib目录下加载jar包,解决WegLogic与hibernate包冲突问题 --> <prefer-web-inf-classes>true</prefer-web-inf-classes> <charset-params> <input-charset> <resource-path>/*</resource-path> <java-charset-name>UTF-8</java-charset-name> </input-charset> </charset-params> <!-- servlet-reload-check-secs的默认值也是1,每隔1秒检查servlet是否被修改并需要重新编译, 很影响性能。这里建议修改为-1,表示永不检查 --> <servlet-reload-check-secs>-1</servlet-reload-check-secs> </container-descriptor> <context-root>/</context-root> </weblogic-web-app>
将项目打包为war,上传到Weblogic目录下,并安装该项目,更新部署完成。
随后“激活更改”。报错如下:
激活更改期间出错, 有关详细信息, 请查看日志。 Error encountered during prepare phase of deploying WebService module 'LefuSearch.war'. When processing WebService module 'LefuSearch.war'. Can't find wsdl /wsdls/wsat11/wstx-wsat-1.1-wsdl-200702.wsdl When processing WebService module 'LefuSearch.war'. Can't find wsdl /wsdls/wsat11/wstx-wsat-1.1-wsdl-200702.wsdl
查了一些情况,说是包冲突。但是鉴于我已经做的weblogic.xml等努力来看,应该是有助于解决的。但是发现没有成功。这个错误仍然存在。
网上的很多说法对于这个具体问题来说没有完全的解决办法。
在此,请问下大家有没什么解决办法?好纠结了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
@峰子
问题在 (WebAppModule.loadDescriptor)VALIDATION PROBLEMS WERE FOUND problem: cvc-complex-type.2.4a: Expected elements 'prefer-
application-packages
验证器发现了weblogic.xml中的问题,prefer-application-packages需要写在EAR中的META-INF/weblogic-application.xml文件中。WAR中的Weblogic应该是不支持的。
还有注意不同版本的weblogic,weblogic.xml也有可能不一样。也会产生这样的问题。
@峰子
问题在 (WebAppModule.loadDescriptor)VALIDATION PROBLEMS WERE FOUND problem: cvc-complex-type.2.4a: Expected elements 'prefer-
application-packages
验证器发现了weblogic.xml中的问题,prefer-application-packages需要写在EAR中的META-INF/weblogic-application.xml文件中。WAR中的Weblogic应该是不支持的。
还有注意不同版本的weblogic,weblogic.xml也有可能不一样。也会产生这样的问题。
这个补充说明是再次对包冲突进行修改测试时候的问题。