【问题标题】:Ignore XML Validation for JAX-WS clients忽略 JAX-WS 客户端的 XML 验证
【发布时间】:2012-12-09 09:22:21
【问题描述】:

我尝试使用一些 JAX-WS 服务,但是从服务返回的 XML(我无法更改)具有无效的 DTD(产生 XMLStreamReaderException,因为之间没有空格publicIdsystemId)。如何让客户忽略格式不正确的 DTD?

【问题讨论】:

  • 您使用的是什么版本的 jaxws?我不知道在 dtds 中处理 jaxws。
  • this link 可能有用。详细介绍与各种 jaxws 版本相关的 dtd 处理。
  • 一般来说,我会考虑让 WS 使用本地 DTD(不知道这是否是 JAX 功能),或者放入自定义处理程序:pic.dhe.ibm.com/infocenter/wasinfo/v7r0/…

标签: java xml jax-ws


【解决方案1】:

无效的DTDWSDL 的一部分吗?如果是,您可以使用JAXWS catalog 在本地读取XML,然后调用该服务。

您需要下载WSDL,修复它并存储在本地。然后,在创建 Service 实例时,从本地存储中读取 WSDL。更新endpoint 属性并调用服务。

【讨论】:

  • 遗憾的是,这是需要做的。我觉得很遗憾 JAX 不能只处理具有如此小问题的 DTD,尤其是当它确切地知道出了什么问题并且可以处理空字符串值时。
最近更新 更多