CXF開發WEBSERVICE異常解決【Cannot create a secure XMLInputFactory】
阿新 • • 發佈:2018-12-23
最近的一個專案需要對外提供webservice介面,專案部署後,客戶端訪問報錯:Cannot create a secure XMLInputFactory,當時領導催著趕進度,真讓人頭大,有如下解決方案:
方案一
新增如下依賴:
<dependency> <groupId>org.codehaus.woodstox</groupId> <artifactId>stax2-api</artifactId> <version>4.0.0</version> </dependency> <dependency> <groupId>org.codehaus.woodstox</groupId> <artifactId>woodstox-core-asl</artifactId> <version>4.4.1</version> </dependency>
方案二
- 調整jar包載入順序
方案XXX
** @@@@@@@@ **
終極方案
- 新增監聽器
public class SealManageListener implements ServletContextListener { private static final Logger logger = LoggerFactory.getLogger(SealManageListener.class); @Override public void contextDestroyed(ServletContextEvent arg0) { } @Override public void contextInitialized(ServletContextEvent arg0) { Properties props = System.getProperties(); props.setProperty("org.apache.cxf.stax.allowInsecureParser", "1"); logger.debug("系統初始化設定....."); props.setProperty("UseSunHttpHandler", "true"); } }
- 再新增web.xml的配置
<listener>
<listener-class>xxx.xxx.xxx.filter.SealManageListener</listener-class>
</listener>