在Weblogic10.3下发布的有关问题

转载:http://www.myexception.cn/web/840087.html

当我访问WSDL文件
http://localhost:7001/services/BpmEventService?wsdl
时报错如下:

Root cause of ServletException.

java.lang.ExceptionInInitializerError
at org.codehaus.xfire.util.jdom.StaxBuilder.<init>(StaxBuilder.java:150)
at org.codehaus.xfire.wsdl.AbstractWSDL.<clinit>(AbstractWSDL.java:43)
at org.codehaus.xfire.wsdl11.builder.DefaultWSDLBuilderFactory.createWSDLBuilder(DefaultWSDLBuilderFactory.java:25)
at org.codehaus.xfire.wsdl11.builder.WSDLBuilderAdapter.write(WSDLBuilderAdapter.java:40)
at org.codehaus.xfire.DefaultXFire.generateWSDL(DefaultXFire.java:104)
Truncated. see log file for complete stacktrace

java.lang.ClassCastException: weblogic.xml.stax.XMLStreamInputFactory cannot be cast to javax.xml.stream.XMLInputFactory
at javax.xml.stream.XMLInputFactory.newInstance(XMLInputFactory.java:136)
at org.codehaus.xfire.util.STAXUtils.<clinit>(STAXUtils.java:48)
at org.codehaus.xfire.util.jdom.StaxBuilder.<init>(StaxBuilder.java:150)
at org.codehaus.xfire.wsdl.AbstractWSDL.<clinit>(AbstractWSDL.java:43)
at org.codehaus.xfire.wsdl11.builder.DefaultWSDLBuilderFactory.createWSDLBuilder(DefaultWSDLBuilderFactory.java:25)

四处搜索半天,还是对比了一下以前发布的xfire原始demo,发现差异在于少了一个jar包,加在ivy配置中
<dependency org="org/codehaus/woodstox" name="wstx-asl" rev="3.2.9"/>

一切恢复正常了。

对了,还忘记了记录,我的WEB-INF下,很早就由同事放了一个weblogic.xml如下:
<?xml version="1.0" encoding="UTF-8"?>

<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90"
xmlns:j2ee="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.bea.com/ns/weblogic/90 http://www.bea.com/ns/weblogic/90/weblogic-web-app.xsd">
<context-root>/</context-root>
<container-descriptor>
   <prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
</weblogic-web-app>

奇怪了,服务器这样修改就OK了。

但是我本机的weblogic10.3用目录方式发布或者用war方式发布都要报如下错误:
<2009-12-7 下午07时31分19秒 CST> <Error> <Deployer> <BEA-149265> <Failure occurr
ed in the execution of deployment request with ID '1260185449734' for task '0'.
Error is: 'weblogic.application.ModuleException: 'weblogic.application.ModuleException:
at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:387)
at weblogic.application.internal.flow.ScopedModuleDriver.prepare(ScopedModuleDriver.java:176)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:387)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
Truncated. see log file for complete stacktrace

java.lang.ClassCastException: com.ctc.wstx.stax.WstxInputFactory cannot be cast to javax.xml.stream.XMLInputFactory
at javax.xml.stream.XMLInputFactory.newInstance(XMLInputFactory.java:137)
at weblogic.servlet.internal.TldCacheHelper$TldIOHelper.parseXML(TldCacheHelper.java:124)
at weblogic.descriptor.DescriptorCache.parseXML(DescriptorCache.java:380)
at weblogic.servlet.internal.TldCacheHelper.parseTagLibraries(TldCacheHelper.java:65)
at weblogic.servlet.internal.War.getTagInfo(War.java:891)
Truncated. see log file for complete stacktrace

删除下面的
<dependency org="org/codehaus/woodstox" name="wstx-asl" rev="3.2.9"/>
这个包,然后再加上,就对了。。。。诡异啊。

这个有点前后矛盾,以后再仔细检查吧。
我删除了我机器上weblogic的domain测试了一下。整个流程如下:
新建domain,发布不含有wstx-asl的jar包,发布成功,但是WSDL文件无法访问,要报错;
然后添加上wstx-asl的jar包,再在这个domain上发布,发布成功,访问WSDL文件也没有问题。呵呵。诡异了。以后再仔细检查吧。我在windows上weblogic10.3和redhat上weblogic10.3都测试了一次,都是这样的。

1 楼 mylazygirl 2011-03-04  
引用
新建domain,发布不含有wstx-asl的jar包,发布成功,但是WSDL文件无法访问,要报错; 
然后添加上wstx-asl的jar包,再在这个domain上发布,发布成功,访问WSDL文件也没有问题。

转载于:https://www.cnblogs.com/summer520/p/3312387.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值