2014-11-25 1 views
1

에서 나는 문 추가 해요 보안상의 이유로 :설정 기능 accessExternalDTD하는 TransformerFactory

25 11 월 2014 09 : 나는 로그 파일에 다음과 같은 오류를 받고 있어요 그러나

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

을 : 35 : 48.802 SEVERE [http-nio-8080-exec-14] CIMObject.CIMObjectCollectDataHANA.setRunningXML TransformerConfigurationException setRunningXMLHANA : javax.xml.transform.TransformerConfigurationException :이 TransformerFactory에서 'http://javax.xml.XMLConstants/property/accessExternalDTD'기능을 설정할 수 없습니다.

누군가가 동일한 오류가 발생하여 해결할 수 있습니까?

답변

3

com/sun/org/apache/xalan/internal/utils/FeatureManager.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 
}