1 问题
在解决微信支付XXE(XML外部实体注入漏洞)的时使用了setFeature()方法,出现了如下异常:
java.lang.AbstractMethodError:javax.xml.parsers.DocumentBuilderFactory.setFeature(Ljava/lang/String;Z)
2 原因
不同jar包的多xml解析器冲突
3 解决
微信支付创建xml解析器的官方SDK源码
解决方法:在使用DocumentBuilderFactory前加入这一行代码
System.setProperty("javax.xml.parsers.DocumentBuilderFactory","com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl");
完整代码