שגיאות 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 המוגדר כברירת מחדל שלו השתנה ל-null החל מ-.NET Framework 4.5.2. ממיר של צד שלישי יכול לעקוף אותם או להשתמש במנתח אחר.
שינוי הצהרת XHTML ל-doctype של HTML עשוי להשפיע על ממיר אחד, אך אינו מגדיר את הפרוקסי שלו. הגדירו את המשאבים הנדרשים ואת מדיניות הטעינה שלהם; אימות בלקוח של העמוד הראשוני אינו מאמת את הלקוח השני הזה.