Cannot create a secure XMLInputFactory --CXF调用出错
博客专区 > 盆 的博客 > 博客详情
Cannot create a secure XMLInputFactory --CXF调用出错
发表于2年前
Cannot create a secure XMLInputFactory --CXF调用出错
  • 发表于 2年前
  • 阅读 160
  • 收藏 0
  • 点赞 1
  • 评论 0

腾讯云 学生专属云服务套餐 10元起购>>>   

摘要: java.lang.RuntimeException: Cannot create a secure XMLInputFactory at org.apache.cxf.staxutils.StaxUtils.createXMLInputFactory(StaxUtils.java:314) at org.apache.cxf.staxutils.StaxUtils.getXMLInputFactory(StaxUtils.java:264) at org.apache.cxf.staxutils.StaxUtils.createXMLStreamReader(StaxUtils....

百度之后网上流传了两种解决办法:

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

  2. 原因是 客户端 与服务端的 接口包名不一致 造成的 


首先我往项目里面加了第一点的两个jar包,仍旧报错。。。。

对于第二点,我单独建立一个web项目,调用代码可以正常运行【客户端 与服务端的 接口包名仍旧不一致】,但是在我项目里面就继续报错;


对于以上两点均排查完,表示不是上述原因;

后google之,在stackoverflow找到一篇相同提问文章,有一回复解决了此问题:

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

import java.util.Properties;

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


分享一下,希望对大家有所帮助;




补充:----------------------------

后来发现这个警告...包冲突,删除前面的包应该就可以了,加上上面那个三行也行;

Could not create a secure Stax XMLInputFactory.  Found class com.ctc.wstx.stax.WstxInputFactory.  Suggest Woodstox 4.2.0 or newer.


补充:----------------------------

或者将woodstox-core-asl-4.4.0.jar这个jar包前面加上前缀abc什么的,让他jar包排名提前,conger优先加载接口,也不用添加上述三行代码(代码意思应该也是让它优先加载)




共有 人打赏支持
粉丝 0
博文 1
码字总数 352
×
盆
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: