gpt4 book ai didi

java - 在 TransformerFactory 中设置特性 accessExternalDTD

转载 作者:行者123 更新时间:2023-11-29 07:44:27 62 4
gpt4 key购买 nike

出于安全原因,我添加了声明:

transformerFactory.setFeature("http://javax.xml.XMLConstants/property/accessExternalDTD", false);

但是我在日志文件中收到以下错误:

25-Nov-2014 09:35:48.802 SEVERE [http-nio-8080-exec-14] CIMObject.CIMObjectCollectDataHANA.setRunningXML TransformerConfigurationException setRunningXMLHANA: javax.xml.transform.TransformerConfigurationException: Cannot set the feature 'http://javax.xml.XMLConstants/property/accessExternalDTD' on this TransformerFactory.

有人遇到同样的错误并且能够修复它吗?

最佳答案

看来问题是 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 中:

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
}

关于java - 在 TransformerFactory 中设置特性 accessExternalDTD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27128578/

62 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com