私の意図は、XML パーサーが、要求の XML の先頭にある DOCTYPE セクションで定義された外部エンティティーを参照しないようにすることですが、JAX-WS ランタイムで使用される XML パーサーをより一般的に構成できることに興味があります。
利用可能な JAX-WS ドキュメント (正式ではない、完全ではない、多くの点で「ない」) を調べても、構成要件を JAX-WS に表現する方法が見つかりません。下にあるものに対処する必要がないので、それは素晴らしいことです。
ドライバーでギアを挟むと、StAX を使用していることがわかります。これはjavax.xml.stream.XMLInputFactory
、 とそのsetProperty(String, Object)
メソッドを使用して構成できることを意味しますが、そのためには JAX-WS で使用される特定のXMLInputFactory インスタンスが必要です。JVM の起動時にシステム プロパティを設定してもうまくいきません。プロパティは、JAX-WS で使用されるインスタンスに設定する必要があります。
したがって、私が知らない JAX-WS の XML パーサーを構成する方法があるか、または JAX-WS の内部を掘り下げてパーサーを取得し、直接構成する必要があります。後者はかなり不自由だろう。
編集: Sun / Oracle JDK に存在する標準の JAX-WS 実装について言及しています。Java 1.6.0 Update 24 を使用しています。これは RI に違いないと思います。