CXF Weblogic 报错:Cannot create a secure XMLInputFactory

环境:

Weblogic版本:10.3.6

CXF :3.1.8

问题描述:

项目在Tomcat中启动运行正常,调用服务正常,在Weblogic中项目启动运行正常,调用服务时,报错:java.lang.RuntimeException: Cannot create a secure XMLInputFactory

经百度、Google后收集问题解决方案,最终项目中有效的解决方案为:

在调用方法前加上下面三句即可调用成功:

import java.util.Properties;

   Properties props = System.getProperties(); 
   props.setProperty("org.apache.cxf.stax.allowInsecureParser", "1"); 
   props.setProperty("UseSunHttpHandler", "true");

链接:https://my.oschina.net/u/2474381/blog/662144


其他对本次报错无效的相关方案有:

1、缺少了两个jar包  stax2-api-3.1.x.jar 和 woodstox-core-asl-4.2.x.jar。

2、将woodstox-core-asl-4.4.0.jar这个Jar改名增加前缀变为awoodstox-core-asl-4.4.0.jar,使其优先加载。

链接:http://blog.csdn.net/fengcheqidong/article/details/40423517

3、原因是 客户端 与服务端的 接口包名不一致 造成的。

4、修改在Weblogic配置文件:安装目录\wlserver_10.3\server\lib\consoleapp\META-INF下weblogic-application.xml文件。

5、在引用stax2-api-3.1.1.jar的情况下排除stax-api-1.0.1.jar的依赖。

 (Maven中排除依赖要在<dependencies>中,而不是 <dependencyManagement>中)

链接:http://blog.csdn.net/yy_love_my/article/details/43305021

6、在cxf webservice项目路径下(WebContent\WEB-INF\weblogic.xml)增加这个XML文件。

 <?xml version="1.0" encoding="UTF-8" ?>   
<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">  
<container-descriptor>  
 <index-directory-enabled>true</index-directory-enabled>   
 <prefer-web-inf-classes>true</prefer-web-inf-classes>   
 </container-descriptor>  
 </weblogic-web-app>

链接:http://blog.csdn.net/editcue/article/details/15505433

7、另附 stackoverflow上一个相同问题链接

链接:https://stackoverflow.com/questions/20114945/cxf-web-service-client-cannot-create-a-secure-xmlinputfactory





猜你喜欢

转载自blog.csdn.net/u012475575/article/details/76219038