ローカルのドキュメントでも、変換中に407が発生することがあります。そのXMLがDTD、スキーマ、エンティティを指定し、レンダラーがスタイルや画像を取得する場合があります。失敗しているクライアントは、元のダウンロードが終わった後、そのパーサーの内部にいる可能性があります。

例外スタックと要求されたURIを保持し、入力の宣言やリソース参照と照合します。標準ホストへのDTD要求は、ページ要求とは別の操作です。HTMLからPDFへの変換も、リモートアセットの取得中に失敗することがあります。

契約がDTDと外部解決を禁止する.NET XmlReader入力では、次を使います:

var settings = new XmlReaderSettings
{
    DtdProcessing = DtdProcessing.Prohibit,
    XmlResolver = null
};

これらの設定を、実際にドキュメントを解析するコンポーネントに渡します。DtdProcessingはDTDの扱いを選び、XmlResolverは外部アクセスを制御します。ProhibitはDTDを含むドキュメントを拒否します—宣言を削除するわけではありません。ワークフローがDTDを必要とする場合は、承認済みのローカル解決か、明示的にルーティングされたresolverを選んでください。

既定値はAPI/ランタイムに結び付けたままにします。XmlReaderSettingsは既定でProhibitを使い、その既定のresolverは.NET Framework 4.5.2以降nullに変更されました。サードパーティのコンバーターはこれを上書きしたり、別のパーサーを使ったりできます。

XHTML宣言をHTML doctypeに変えると、あるコンバーターには影響しますが、そのプロキシは構成されません。必要なリソースとその読み込みポリシーを定めてください。最初のページのクライアントでの認証は、この2番目のクライアントを認証しません。

関連記事