首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在accessExternalDTD中设置特征TransformerFactory

在accessExternalDTD中设置特征TransformerFactory
EN

Stack Overflow用户
提问于 2014-11-25 13:53:51
回答 1查看 12.9K关注 0票数 3

出于安全考虑,我要添加以下语句:

代码语言:javascript
复制
transformerFactory.setFeature("http://javax.xml.XMLConstants/property/accessExternalDTD", false);

但是,我在日志文件中得到了以下错误:

2014年11月25日09:35:48.802严厉的http-nio-8080-exec-14 CIMObject.CIMObjectCollectDataHANA.setRunningXML TransformerConfigurationException setRunningXMLHANA: javax.xml.transform.TransformerConfigurationException:无法在TransformerFactory上设置“http://javax.xml.XMLConstants/property/accessExternalDTD”功能。

有人经历了同样的错误,并能够修复它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-12 22:17:34

问题似乎是在com/sun/org/apache/xalan/internal/utils/FeatureManager.java中没有定义这样的特性。

如果您使用的是java 8,那么只需调用:

transformerFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);

这是因为在com/sun/org/apache/xalan/internal/xsltctrax/TransformerFactoryImpl.java

代码语言:javascript
复制
if (value && XalanConstants.IS_JDK8_OR_ABOVE) {
    _xmlSecurityPropertyMgr.setValue(
         Property.ACCESS_EXTERNAL_DTD, 
         State.FSP, 
         XalanConstants.EXTERNAL_ACCESS_DEFAULT_FSP
    ); // ACCESS_EXTERNAL_DTD is disabled by setting to the default value
 }
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27128578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档