4

我的目的是防止 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。

4

1 回答 1

0

我建议您可以更好地使用 XStream。

于 2011-11-21T05:16:08.033 回答