zoukankan      html  css  js  c++  java
  • 在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文件也没有问题。
  • 相关阅读:
    LeetCode 139. Word Break
    Amazon behavior question
    学习笔记之100 TOP Ikm C++ Online Test Questions
    学习笔记之IKM C++ 11
    学习笔记之C/C++指针使用常见的坑
    LeetCode 208. Implement Trie (Prefix Tree)
    队列 & 栈//岛屿的个数
    队列 & 栈//设计循环队列
    队列 & 栈//设计循环队列
    查找表类算法//存在重复元素 III
  • 原文地址:https://www.cnblogs.com/summer520/p/3312387.html
Copyright © 2011-2022 走看看