أخطاء 407 الخاصة بالوكيل الناتجة عن DTDs وموارد XML الخارجية
تتبَّع خطأ 407 غير المتوقع أثناء تحويل مستند إلى DTDs أو مخططات أو موارد أخرى خارجية يفتحها المحلل.
قد يتسبب مستند محلي في خطأ 407 أثناء التحويل. فقد يذكر ملف XML الخاص به DTD أو مخططًا أو كيانًا، وقد يجلب العارض أنماطًا أو صورًا. وقد يكون العميل الذي يفشل داخل ذلك المحلل، بعد انتهاء التنزيل الأصلي.
احتفظ بمكدس الاستثناء وعنوان URI المطلوب، ثم طابقهما مع تصريحات الإدخال أو مراجع الموارد. إن طلب DTD من مضيف معياري عملية أخرى غير طلب الصفحة. وقد يفشل تحويل HTML إلى PDF أيضًا أثناء جلب الموارد البعيدة.
بالنسبة إلى إدخال .NET XmlReader الذي يمنع عقده DTDs والحل الخارجي، استخدم:
var settings = new XmlReaderSettings
{
DtdProcessing = DtdProcessing.Prohibit,
XmlResolver = null
};مرِّر تلك الإعدادات إلى المكوّن الذي يحلل المستند فعليًا. يحدد DtdProcessing كيفية التعامل مع DTD؛ ويتحكم XmlResolver في الوصول الخارجي. يرفض Prohibit مستندًا يحتوي على DTD—لكنه لا يزيل التصريح. وإذا كان سير العمل يتطلب واحدًا، فاختر حلًا محليًا معتمدًا أو محللًا موجَّهًا صراحةً.
أبقِ الإعدادات الافتراضية مرتبطة بواجهة API/بيئة التشغيل. يستخدم XmlReaderSettings الإعداد Prohibit افتراضيًا، وقد تغيّر محلله الافتراضي إلى null بدءًا من .NET Framework 4.5.2. ويمكن لمحوّل تابع لجهة خارجية تجاوز ذلك أو استخدام محلل آخر.
قد يؤثر تغيير تصريح XHTML إلى doctype الخاص بـ HTML في أحد المحوّلات، لكنه لا يهيئ وكيله. حدِّد الموارد المطلوبة وسياسة تحميلها؛ فالمصادقة على عميل الصفحة الأولى لا تصادق هذا العميل الثاني.