【发布时间】:2016-11-08 18:08:23
【问题描述】:
假设我在一个文件中有以下 xml 有效负载
<?xml version="1.0" encoding="UTF-8"?>
<ns2:Fault
xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns3="http://www.w3.org/2003/05/soap-envelope">
<faultcode>ns2:Server</faultcode>
<faultstring>some Error</faultstring>
<detail>
<ns4:ApplicationSOAPFault xmlns:ns4="http://application.exception">
<code>04</code>
<message>SimiError</message>
</ns4:ApplicationSOAPFault>
</detail>
</ns2:Fault>
如何将其解组为 SoapFault(和 CheckedException,如果可用)并将其作为异常抛出?
背景
我们正在尝试构建一个模拟器,在记录/代理模式下,使用 LogicalHandler 将 WebService 请求和响应有效负载 xml 转储到 FileSystem。(即在对目标服务器进行 Web 服务调用并返回有效响应之后)
如果目标服务器返回 SoapFault,像上面这样的 SoapFault 会被转储到文件系统。
当模拟器切换到播放模式时,从转储中解组的匹配响应返回到服务器(使用 JAXB.unmarshall() 完成)
这工作正常,但模拟器目前无法解组 SoapFault(和相应的 CheckedException )并将其作为异常抛出。
【问题讨论】:
标签: java web-services soap jaxb jax-ws