Proxy-407-fel från externa DTD:er och XML-resurser
Spåra en oväntad 407 under dokumentkonvertering till externa DTD:er, scheman eller andra resurser som parsern öppnar.
Ett lokalt dokument kan fortfarande orsaka 407 under konverteringen. Dess XML kan namnge en DTD, ett schema eller en entitet, och en renderare kan hämta stilar eller bilder. Den felande klienten kan finnas inuti den parsern, efter att den ursprungliga nedladdningen är klar.
Behåll undantagsstacken och den begärda URI:n och jämför dem sedan med indatadeklarationer eller resursreferenser. En DTD-begäran till en standardvärd är en annan åtgärd än sidbegäran. HTML-till-PDF-konvertering kan också misslyckas när fjärrresurser hämtas.
För en .NET XmlReader-indata vars kontrakt förbjuder DTD:er och extern upplösning, använd:
var settings = new XmlReaderSettings
{
DtdProcessing = DtdProcessing.Prohibit,
XmlResolver = null
};Skicka dessa inställningar till komponenten som faktiskt parsar dokumentet. DtdProcessing väljer hur en DTD hanteras; XmlResolver styr extern åtkomst. Prohibit avvisar ett dokument med en DTD—det tar inte bort deklarationen. Om arbetsflödet kräver en, välj godkänd lokal upplösning eller en uttryckligen dirigerad resolver.
Håll standardvärdena knutna till API:t/körtiden. XmlReaderSettings använder Prohibit som standard, och dess standardresolver ändrades till null från och med .NET Framework 4.5.2. En tredjepartskonverterare kan åsidosätta dem eller använda en annan parser.
Att ändra en XHTML-deklaration till en HTML-doctype kan påverka en konverterare, men konfigurerar inte dess proxy. Fastställ nödvändiga resurser och deras laddningspolicy. Autentisering på den första sidans klient autentiserar inte denna andra klient.