Erori 407 de proxy din DTD și resurse XML externe
Urmăriți un 407 neașteptat în timpul conversiei unui document către DTD, scheme sau alte resurse externe deschise de parser.
Un document local poate totuși provoca un 407 în timpul conversiei. XML-ul său poate numi un DTD, o schemă sau o entitate, iar un renderer poate prelua stiluri sau imagini. Clientul care eșuează poate fi în interiorul acelui parser, după ce descărcarea inițială s-a încheiat.
Păstrați stiva excepției și URI-ul solicitat, apoi potriviți-le cu declarațiile de intrare sau referințele la resurse. O cerere DTD către un host standard este o altă operațiune decât cererea paginii. Conversia HTML în PDF poate eșua și ea la preluarea resurselor la distanță.
Pentru o intrare .NET XmlReader al cărei contract interzice DTD-urile și rezolvarea externă, folosiți:
var settings = new XmlReaderSettings
{
DtdProcessing = DtdProcessing.Prohibit,
XmlResolver = null
};Transmiteți aceste setări componentei care analizează efectiv documentul. DtdProcessing alege cum este tratat un DTD; XmlResolver controlează accesul extern. Prohibit respinge un document cu DTD—nu elimină declarația. Dacă fluxul de lucru necesită una, alegeți o rezolvare locală aprobată sau un resolver direcționat explicit.
Mențineți valorile implicite legate de API/runtime. XmlReaderSettings folosește Prohibit implicit, iar resolverul său implicit a fost schimbat în null începând cu .NET Framework 4.5.2. Un convertor terț le poate suprascrie sau poate folosi alt parser.
Schimbarea unei declarații XHTML într-un doctype HTML poate afecta un convertor, dar nu îi configurează proxy-ul. Stabiliți resursele necesare și politica lor de încărcare; autentificarea pe clientul paginii inițiale nu autentifică acest al doilea client.