Un document local peut encore provoquer un 407 pendant la conversion. Son XML peut nommer une DTD, un schéma ou une entité, et un moteur de rendu peut récupérer des styles ou des images. Le client qui échoue peut se trouver à l'intérieur de cet analyseur, une fois le téléchargement initial terminé.

Conservez la pile d'exceptions et l'URI demandé, puis comparez-les aux déclarations d'entrée ou aux références de ressources. Une requête DTD vers un hôte standard est une autre opération que la requête de la page. La conversion HTML vers PDF peut aussi échouer lors de la récupération de ressources distantes.

Pour une entrée .NET XmlReader dont le contrat interdit les DTD et la résolution externe, utilisez :

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

Transmettez ces paramètres au composant qui analyse réellement le document. DtdProcessing choisit le traitement d'une DTD ; XmlResolver contrôle l'accès externe. Prohibit rejette un document contenant une DTD—il ne supprime pas la déclaration. Si le flux de travail en exige une, choisissez une résolution locale approuvée ou un resolver explicitement routé.

Maintenez les valeurs par défaut liées à l'API et au runtime. XmlReaderSettings utilise Prohibit par défaut, et son resolver par défaut est passé à null à partir de .NET Framework 4.5.2. Un convertisseur tiers peut les remplacer ou utiliser un autre analyseur.

Remplacer une déclaration XHTML par un doctype HTML peut affecter un convertisseur, mais ne configure pas son proxy. Déterminez les ressources requises et leur politique de chargement ; l'authentification sur le client de la page initiale n'authentifie pas ce second client.

Articles similaires