Փրոքսի 407 սխալներ արտաքին DTD-ներից և XML ռեսուրսներից
Հետևեք անսպասելի 407-ին փաստաթղթի փոխակերպման ընթացքում դեպի արտաքին DTD, սխեմաներ կամ վերլուծիչի բացած այլ ռեսուրսներ։
Տեղական փաստաթուղթը փոխակերպման ընթացքում դեռ կարող է առաջացնել 407։ Նրա XML-ը կարող է նշել DTD, սխեմա կամ էություն, իսկ մատուցիչը կարող է բերել ոճեր կամ պատկերներ։ Ձախողվող հաճախորդը կարող է լինել այդ վերլուծիչի ներսում՝ սկզբնական ներբեռնումն ավարտվելուց հետո։
Պահեք բացառության կույտը և հարցված URI-ն, ապա համադրեք դրանք մուտքային հայտարարագրերի կամ ռեսուրսների հղումների հետ։ Ստանդարտ հոսթին ուղղված DTD հարցումն այլ գործողություն է, քան էջի հարցումը։ HTML-ից PDF փոխակերպումը նույնպես կարող է ձախողվել հեռավոր ռեսուրսներ բերելիս։
.NET XmlReader մուտքի համար, որի պայմանագիրն արգելում է DTD-ներ և արտաքին լուծում, օգտագործեք՝
var settings = new XmlReaderSettings
{
DtdProcessing = DtdProcessing.Prohibit,
XmlResolver = null
};Փոխանցեք այդ կարգավորումները այն բաղադրիչին, որն իրականում վերլուծում է փաստաթուղթը։ DtdProcessing ընտրում է, թե ինչպես վարվել DTD-ի հետ. XmlResolver կառավարում է արտաքին հասանելիությունը։ Prohibit-ը մերժում է DTD ունեցող փաստաթուղթը—այն չի հեռացնում հայտարարագիրը։ Եթե աշխատահոսքը պահանջում է մեկը, ընտրեք հաստատված տեղական լուծում կամ բացահայտ ուղղորդված resolver։
Լռելյայն արժեքները կապեք API/կատարման միջավայրին։ XmlReaderSettings-ը լռելյայն օգտագործում է Prohibit, և դրա լռելյայն resolver-ը .NET Framework 4.5.2-ից սկսած փոխվել է null-ի։ Երրորդ կողմի փոխարկիչը կարող է վերափոխել դրանք կամ օգտագործել այլ վերլուծիչ։
XHTML հայտարարագիրը HTML doctype-ի փոխելը կարող է ազդել մեկ փոխարկիչի վրա, բայց չի կարգավորում նրա փրոքսին։ Սահմանեք անհրաժեշտ ռեսուրսները և դրանց բեռնման քաղաքականությունը. սկզբնական էջի հաճախորդի նույնականացումը չի նույնականացնում այս երկրորդ հաճախորդին։