weblogic10 部署 spring+cxf ,调用时报:cannot create a secure XmlInputFactory

weblogic10 部署 spring+cxf ,调用时报:cannot create a secure XmlInputFactory

 

一个cxf webservice项目部署到tomcat能正常运行,客户端也能正常调用。

然后我部署到weblogic,同样能成功访问wsdl,但是客户端请求就报错cannot create a secure XmlInputFactory。

后面按照网上说的只要在cxf webservice项目路径下(WebContentWEB-INFweblogic.xml)增加这个XML文件

内容如下:

[html] view plain copy
 
  1.  <?xml version="1.0" encoding="UTF-8" ?>   
  2. <weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-web-app http://www.bea.com/ns/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd">  
  3. <container-descriptor>  
  4.  <index-directory-enabled>true</index-directory-enabled>   
  5.  <prefer-web-inf-classes>true</prefer-web-inf-classes>   
  6.  </container-descriptor>  
  7.  </weblogic-web-app>  

就可以了。

深究其原因应该是weblogic里面自带的jax-ws包把项目里的cxf包冲掉了。所以,上面的XML配置是为了使项目的jar包优先导入与weblogic的jar包。

       如果添加该文件部署好应用后,启动应用时报错:Invalid schema document passed to AbstractDataBinding.addSchemaDocument, not in W3C schema namespace: schema

      尝试删除一个包jaxb-impl-2.2.11.jar 重新部署试试。

 
原文地址:https://www.cnblogs.com/xiaojianblogs/p/6379430.html