java - 如何配置 JAX-WS 使用的 XML 解析器的行为

标签 java jax-ws stax

我的目的是防止 XML 解析器引用在请求 XML 开头的 DOCTYPE 部分中定义的外部实体,但我感兴趣的是能够更普遍地配置 JAX-WS 使用的 XML 解析器运行时。

通过可用的 JAX-WS 文档(不是正式的、不完整的,在很多方面“不”),我找不到一种方法来表达我对 JAX-WS 的配置要求。那太好了,因为我不必处理下面的内容。

用 Screwdriver 卡住齿轮表明它使用了 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。我想这一定是注册机。

最佳答案

我建议您更好地使用 XStream。

关于java - 如何配置 JAX-WS 使用的 XML 解析器的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7448433/

相关文章:

java - 对象中的对象 java

java.lang.UnsupportedClassVersionError :/entirex/xml/mapping/jaxws_asm/package-info : Unsupported major. 次要版本 0.0

java - maven 中的 wsdlDirectory 设置应该有效吗?

java - 如何创建使用 Stax 解析 XML 的 Dom 对象

java - woodstox 和 sjsxp 的比较

java - 使用Java分离文件内容

java - 使用cmd命令在maven中本地安装jar

java - 用于为 JAX-WS 客户端下载/导入 WSDL 文件的工具

java - System.Xml.XmlException : Unexpected end of file while parsing

java - 无法在 IntelliJ Idea 中启动 spring-boot 应用程序