【问题标题】:How to transform soap fault message in wso2如何在 wso2 中转换肥皂故障消息
【发布时间】:2021-06-15 10:53:55
【问题描述】:

我在两个版本的 WSO2 esb 6.5.0 和 4.9.0 中得到两个不同的响应。

6.5 响应头错误

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
    <soap:Fault>
        <faultcode>soap:Client</faultcode>
        <faultstring>Fault</faultstring>
        <detail>
            <axis2ns13:sdpFault xmlns:axis2ns13="http://www.service.lk">
                <axis2ns13:Code>99</axis2ns3:Code>
                <axis2ns13:Name>wrong</axis2ns3:Name>
            </axis2ns13:sdpFault>
        </detail>
    </soap:Fault>
</soap:Body></soap:Envelope>

我需要得到如下响应。 4.9.0 响应

<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
            <soapenv:Body>
                <soapenv:Fault>
                    <soapenv:Code>
                        <soapenv:Value>soapenv:Sender</soapenv:Value>
                    </soapenv:Code>
                    <soapenv:Reason>
                        <soapenv:Text xml:lang="en">Fault</soapenv:Reason>
                    <soapenv:Detail>
                        <axis2ns1:sdpFault xmlns:axis2ns1="http:service.lk">
                            <axis2ns1:Code>13</axis2ns1:Code>
                            <axis2ns1:Name>wrong</axis2ns1:Name>
                        </axis2ns1:sdpFault>
                    </soapenv:Detail>
                </soapenv:Fault>
            </soapenv:Body>

【问题讨论】:

  • 您好,休息,在不知道事件顺序的情况下很难回答这个问题。您正在发送一条消息,在返回错误的端点出现问题并且 WSO2 返回上述错误?请详细说明
  • 嗨,谢谢一月。究竟需要知道什么?在这里,wso2 在收到客户端响应后给出的响应,但问题是 TCP 转储与两个版本完全相同,但是当来到 wso2 时它会改变。
  • 我可以假设您正在继续发送此消息,但是对于似乎来自 ESB 内部的所有 axis2ns1 部分的响应有点奇怪,所以最好问一下。
  • 或许您可以在继续发送时指定“format=soap11”?例如:docs.wso2.com/display/EI640/Default+Endpoint

标签: xslt soap wso2 wso2carbon wso2ei


【解决方案1】:

这不是不同版本的 WSO2 产品的问题,我相信它不应该被“改造”。您得到的第一个响应(来自 EI 6.5.0)在 SOAP 1.1 版本中,第二个响应(来自 ESB 4.9.0)在 SOAP 1.2 中。因此,看起来您使用 Fault Mediator 生成了该响应,但使用了两个不同的版本。只需根据以下文档更改该故障调解器中的版本:WSO2EI 6.5.0 Fault MediatorWSO2ESB 4.9.0 Fault Mediator

如果这没有帮助,您需要提供更多信息,即 WSO2 调解序列中发生了什么。

【讨论】:

  • 感谢@tmoasz 的回复。实际上我在两个版本中都没有使用任何故障调解器。我的配置在两个版本中完全相同,我的问题之一是为什么他们在具有相同有效负载的两个版本中给了我两个不同的响应,而另一个是我可以'不转换 6.5 响应,因为这个 axis2ns1 值会根据请求增加。所以我不能转换它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-10-05
  • 1970-01-01
  • 1970-01-01
  • 2013-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多