Proxy-407-fouten door externe DTD's en XML-bronnen
Traceer een onverwachte 407 tijdens documentconversie naar externe DTD's, schema's of andere bronnen die de parser opent.
Een lokaal document kan tijdens de conversie nog steeds een 407 veroorzaken. De XML kan een DTD, schema of entiteit noemen, en een renderer kan stijlen of afbeeldingen ophalen. De falende client kan zich in die parser bevinden, nadat de oorspronkelijke download is voltooid.
Bewaar de uitzonderingsstack en de opgevraagde URI en vergelijk ze met invoerdeclaraties of bronverwijzingen. Een DTD-verzoek aan een standaardhost is een andere bewerking dan het paginavenzoek. HTML-naar-PDF-conversie kan ook mislukken tijdens het ophalen van externe assets.
Voor een .NET XmlReader-invoer waarvan het contract DTD's en externe resolutie verbiedt, gebruikt u:
var settings = new XmlReaderSettings
{
DtdProcessing = DtdProcessing.Prohibit,
XmlResolver = null
};Geef die instellingen door aan het onderdeel dat het document daadwerkelijk parseert. DtdProcessing bepaalt hoe een DTD wordt behandeld; XmlResolver beheert externe toegang. Prohibit weigert een document met een DTD—het verwijdert de declaratie niet. Als de workflow er een vereist, kies dan een goedgekeurde lokale resolutie of een expliciet gerouteerde resolver.
Houd de standaardwaarden gekoppeld aan de API/runtime. XmlReaderSettings gebruikt standaard Prohibit, en de standaardresolver is vanaf .NET Framework 4.5.2 gewijzigd in null. Een externe converter kan ze overschrijven of een andere parser gebruiken.
Het wijzigen van een XHTML-declaratie in een HTML-doctype kan één converter beïnvloeden, maar configureert de proxy ervan niet. Bepaal de vereiste bronnen en hun laadbeleid; authenticatie bij de client van de eerste pagina authenticeert deze tweede client niet.