বহিঃস্থ DTD ও XML সম্পদ থেকে প্রক্সি 407 ত্রুটি
নথি রূপান্তরের সময় বহিঃস্থ DTD, স্কিমা বা পার্সারের খোলা অন্য সম্পদে যাওয়ার অপ্রত্যাশিত 407 চিহ্নিত করুন।
স্থানীয় নথিও রূপান্তরের সময় 407 তৈরি করতে পারে। এর XML একটি DTD, স্কিমা বা entity উল্লেখ করতে পারে, এবং রেন্ডারার স্টাইল বা ছবি আনতে পারে। ব্যর্থ ক্লায়েন্ট মূল ডাউনলোড শেষ হওয়ার পরে সেই পার্সারের ভিতরেই থাকতে পারে।
Exception stack ও অনুরোধ করা 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-এ পরিবর্তন করলে একটি কনভার্টারে প্রভাব পড়তে পারে, কিন্তু এর প্রক্সি কনফিগার করে না। প্রয়োজনীয় সম্পদ ও তাদের লোডার নীতি নির্ধারণ করুন; প্রাথমিক পৃষ্ঠা ক্লায়েন্টের প্রমাণীকরণ এই দ্বিতীয় ক্লায়েন্টকে প্রমাণিত করে না।