2015-04-22 84 views
1

我正在使用WebLogic Server:12.1.1.0,Spring 3.2.11.RELEASE和Camel 2.13.4。Weblogic Spring WS部署類拋出異常

weblogic.xml是:

<?xml version="1.0" encoding="ISO-8859-1"?> 
<weblogic-web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-web-app.xsd" 
xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app"> 
    <container-descriptor> 
     <prefer-web-inf-classes>true</prefer-web-inf-classes> 
    </container-descriptor> 
</weblogic-web-app> 

上部署我得到以下堆棧跟蹤:

[HTTP:101216]Servlet: "spring-ws" failed to preload on startup in Web application: "camelweblogic.war". 
org.springframework.beans.factory.BeanCreationException: Invocation of init method failed; 
nested exception is java.lang.ClassCastException: weblogic.xml.stax.XMLStreamInputFactory cannot be cast to javax.xml.stream.XMLInputFactory 
at org.springframework.ws.support.DefaultStrategiesHelper.instantiateBean(DefaultStrategiesHelper.java:188) 
at org.springframework.ws.support.DefaultStrategiesHelper.getDefaultStrategies(DefaultStrategiesHelper.java:134) 
at org.springframework.ws.server.MessageDispatcher.initEndpointAdapters(MessageDispatcher.java:426) 
at org.springframework.ws.server.MessageDispatcher.setApplicationContext(MessageDispatcher.java:156) 

相關的問題是:

回答

0

正確的weblogic.xml是:

<?xml version="1.0" encoding="ISO-8859-1"?> 
<weblogic-web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-web-app.xsd" 
    xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app"> 
    <container-descriptor> 
     <prefer-web-inf-classes>false</prefer-web-inf-classes> 

     <prefer-application-resources> 

      <resource-name>META-INF/services/com.sun.xml.ws.spi.db.BindingContextFactory 
      </resource-name> 

      <resource-name>META-INF/services/javax.xml.bind.JAXBContext 
      </resource-name> 
     </prefer-application-resources> 
    </container-descriptor> 
</weblogic-web-app> 

排除SLF4J和JAXB,實現了一套,在你所有的駱駝依賴。例如:

<dependency> 
     <groupId>org.apache.camel</groupId> 
     <artifactId>camel-spring-ws</artifactId> 
     <version>2.13.4</version> 
     <exclusions> 
      <exclusion> 
       <artifactId>slf4j-api</artifactId> 
       <groupId>org.slf4j</groupId> 
      </exclusion> 
      <exclusion> 
       <artifactId>jaxb-impl</artifactId> 
       <groupId>com.sun.xml.bind</groupId> 
      </exclusion> 
     </exclusions> 
    </dependency>