Un document local també pot provocar un 407 durant la conversió. El seu XML pot anomenar un DTD, un esquema o una entitat, i un renderitzador pot baixar estils o imatges. El client que falla pot ser dins d'aquest parser, després que hagi acabat la baixada original.

Conserveu la pila d'excepcions i l'URI sol·licitat, i després compareu-los amb les declaracions d'entrada o les referències de recursos. Una sol·licitud de DTD a un amfitrió estàndard és una operació diferent de la sol·licitud de la pàgina. La conversió d'HTML a PDF també pot fallar mentre s'obtenen recursos remots.

Per a una entrada .NET XmlReader el contracte de la qual prohibeix DTD i resolució externa, feu servir:

var settings = new XmlReaderSettings
{
    DtdProcessing = DtdProcessing.Prohibit,
    XmlResolver = null
};

Passeu aquests paràmetres al component que realment analitza el document. DtdProcessing tria com tractar un DTD; XmlResolver controla l'accés extern. Prohibit rebutja un document amb un DTD—no elimina la declaració. Si el flux de treball en requereix un, trieu una resolució local aprovada o un resolver adreçat explícitament.

Mantingueu els valors per defecte lligats a l'API/runtime. XmlReaderSettings fa servir Prohibit per defecte, i el seu resolver per defecte va canviar a null a partir de .NET Framework 4.5.2. Un convertidor de tercers pot sobreescriure'ls o fer servir un altre parser.

Canviar una declaració XHTML per un doctype HTML pot afectar un convertidor, però no configura el seu proxy. Establiu els recursos necessaris i la seva política de càrrega; l'autenticació al client de la pàgina inicial no autentica aquest segon client.

Articles relacionats