我可以在Metro取消编组之前修复损坏的XML响应吗?

时间:2013-02-13 00:55:12

标签: jax-ws java-metro-framework

我正在使用Metro来调用SOAP Web服务。我收到一个SOAP响应,在我无法控制的服务器体内有一个无效的字符引用。我希望在Metro解组之前修复XML并向我的客户端抛出异常。这可能吗?

我尝试添加LogicalHandlerSOAPHandler但是当我尝试获取有效负载时,它们都会抛出相同的解组异常(LogicalMessage.getPayload()和{{1}失败} 分别)。处理程序工作正常,当响应没有无效的XML时,可以访问消息。

以下是异常:

SOAPMessageContext.getMessage()

有没有办法可以获得原始有效载荷,修复它并替换它并继续进行?

2 个答案:

答案 0 :(得分:0)

我想你可以。请看下面的链接,对于一些相关的问题,似乎那里有一些指针。 如果你无法修复xml并继续,你可以随时创建一个自定义的unmarshall。

Getting raw XML response from Java web service client

Is it possible to get the raw XML payload using Metro web services framework?

答案 1 :(得分:0)

不,你的回答没有帮助。它们都指向在尝试反序列化之后获取原始XML,这就是问题所在。所以不要去。