解决CXF webService 调用报错: “Cannot create a secure XMLInputFactory”

一,解决步骤

1.添加jar包

stax2-api-3.1.4.jar

woodstox-core-asl-4.4.1.jar

2.编写监听器

package com.dcits.portal.system.listener;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

/**
 * <p>Title: </p>
 * <p>Description: weblogic容器部署CXF服务优先加载指定jar包</p>
 * <p>Copyright:Copyright(c)2013</p>
 * <p>Company:神州数码(深圳)有限公司</p>
 * @date 2017-10-30
 * @author zhangpeng
 */
public class CXFWeblogicListener implements ServletContextListener{

	
	public CXFWeblogicListener() {
		System.setProperty("org.apache.cxf.stax.allowInsecureParser", "1");
	}

	@Override
	public void contextDestroyed(ServletContextEvent arg0) {
		
	}

	@Override
	public void contextInitialized(ServletContextEvent arg0) {
		
	}

}

3.配置监听器

在web.xml下配置监听器

<!--  weblogic容器部署CXF服务监听器 -->
	<listener>
		<listener-class>com.dcits.portal.system.listener.CXFWeblogicListener</listener-class>
	</listener>


二,思路分析

背景:公司有一个新需求需要实现两个系统之间互相跳转,我采用了通过webservice调用接口的方式进行身份验证,但是我调对方系统提供的接口可以,对方调我提供的接口总是报“Cannot create a secure XMLInputFactory”。

1.缺少jar包

    上网搜索,说缺少两个jar包,我用的cxf是2.7版本的,故导入stax2-api-3.1.4.jarwoodstox-core-asl-4.4.1.jar,

但是还是会报“Cannot create a secure XMLInputFactory”异常。

2.添加监听器

 按照网上介绍导入两个jar没有用,也试着修改weblogic.xml配置文件,优先加载指定的cxf  jar包还是没用,这时我陷入了死胡同。于是认真的看了控制台报错日志:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值