微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在wso2中转换soap故障消息

如何解决如何在wso2中转换soap故障消息

我在 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 产品的问题,我认为不应该“转换”。您得到的第一个响应(来自 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 调解序列中的内容。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。