问题发生场景:公司项目做cxf升级有原来的cxf2.3 版本升级为cxf 2.7.18 版本,在进行webServcice 接口调用时出现 Cannot create a secure XMLInputFactory 的问题
解决方法:首先在查看 cxf官方文档:从 CXF 2.7.4 开始,CXF 现在需要使用 StAX 解析器,该解析器可以提供对传入 XML 大小的细粒度控制。当前唯一可用的解析器是 Woodstox 4.2 或更新版本。主要原因是存在一系列只能在 StAX 解析器级别阻止的 DOS 攻击。有一个“org.apache.cxf.stax.allowInsecureParser”系统属性可以设置为 true 以允许使用不安全的解析器,但强烈不推荐这样做,现在这样做也允许本节中描述的设置。
需要指定的解析器 Woodstox4.2 以及StAX-api的jar包的的导入,导入之后即可。但在我的项目中存在webService相关的jar(因为我看webService jar包中有woodstox相关的代码),故本人的操作是升级 webSeries 相关的jar 包,webServices-rt 以及webServices-api 升级至 2.4.0版本。问题解决,在此记录一下。
原文地址:https://www.cnblogs.com/jiaoxiaoting/p/14844630.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。