Proxy-407-fejl fra eksterne DTD'er og XML-ressourcer
Spor en uventet 407 under dokumentkonvertering til eksterne DTD'er, skemaer eller andre ressourcer, som parseren åbner.
Et lokalt dokument kan stadig forårsage 407 under konvertering. Dets XML kan angive en DTD, et skema eller en entitet, og en renderer kan hente typografiark eller billeder. Den fejlende klient kan være inde i den parser, efter den oprindelige download er færdig.
Gem undtagelsesstakken og den anmodede URI, og sammenlign dem derefter med inputdeklarationer eller ressourcehenvisninger. En DTD-anmodning til en standardvært er en anden handling end sideanmodningen. HTML-til-PDF-konvertering kan også fejle, mens der hentes eksterne aktiver.
Til et .NET XmlReader-input, hvis kontrakt forbyder DTD'er og ekstern opløsning, brug:
var settings = new XmlReaderSettings
{
DtdProcessing = DtdProcessing.Prohibit,
XmlResolver = null
};Send disse indstillinger videre til den komponent, der faktisk parser dokumentet. DtdProcessing vælger, hvordan en DTD håndteres; XmlResolver styrer ekstern adgang. Prohibit afviser et dokument med en DTD—den fjerner ikke deklarationen. Hvis arbejdsgangen kræver en, skal du vælge godkendt lokal opløsning eller en resolver, der eksplicit dirigeres.
Hold standardværdierne knyttet til API'et/runtime. XmlReaderSettings bruger Prohibit som standard, og dens standardresolver blev ændret til null fra og med .NET Framework 4.5.2. En tredjepartskonverter kan tilsidesætte dem eller bruge en anden parser.
At ændre en XHTML-deklaration til en HTML-doctype kan påvirke én konverter, men den konfigurerer ikke dens proxy. Fastlæg de nødvendige ressourcer og deres indlæsningspolitik; godkendelse på den oprindelige sides klient godkender ikke denne anden klient.