我的目的是阻止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。
答案 0 :(得分:0)
我建议您更好地使用XStream。