繁体   English   中英

WSO2 API 管理器工具:无法转换 JSONtoSOAP 和 SOAPtoJSON 以在模拟后端和 API 之间进行通信

[英]WSO2 API Manager Tool: Unable to convert JSONtoSOAP and then SOAPtoJSON to communicate between mock backend and API

遵循 WSO2 文档中的指南: https : //docs.wso2.com/display/AM260/Convert+a+JSON+Message+to+SOAP+and+SOAP+to+JSON

预期的反应是

我修改了几次,但一直收到“400:错误的请求错误”

我的卷曲和错误

编辑¹:运行测试后,我发现问题仅在于 SOAPtoJSON 转换。 当我POST而不OUT(SOAPtoJSON)序列,我得到的答案XML完全按预期如图所示这里

那是我的 JSONtoSOAP.xml:

<?xml version="1.0" encoding="UTF-8"?>
<sequence name="JSONtoSOAP" trace="disable" xmlns="http://ws.apache.org/ns/synapse">
    <payloadFactory media-type="xml">
        <format>
            <soap12:Envelope xmlns:soap12="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <soap12:Body>
                    <CheckPhoneNumber xmlns="http://ws.cdyne.com/PhoneVerify/query">
                        <PhoneNumber>$1</PhoneNumber>
                        <LicenseKey>$2</LicenseKey>
                    </CheckPhoneNumber>
                </soap12:Body>
            </soap12:Envelope>
        </format>
        <args>
            <arg evaluator="xml" expression="//request/PhoneNumber" literal="true"/>
            <arg evaluator="xml" expression="//request/LicenseKey" literal="true"/>
        </args>
    </payloadFactory>
    <property name="messageType" scope="axis2" type="STRING" value="application/soap+xml"/>
</sequence>

那是我的 SOAPtoJSON.xml:

    <?xml version="1.0" encoding="UTF-8"?>
<sequence name="SOAPtoJSON" trace="disable" xmlns="http://ws.apache.org/ns/synapse">
    <log level="custom" separator=",">
        <property name="TRACE" value="Global Mediation Extension"/>
    </log>
    <payloadFactory media-type="xml">
        <format>
            <CheckPhoneNumber xmlns="http://ws.cdyne.com/PhoneVerify/query">
                <PhoneNumber>$1</PhoneNumber>
                <LicenseKey>$2</LicenseKey>
            </CheckPhoneNumber>
        </format>
        <args>
            <arg evaluator="xml" expression="//request/PhoneNumber"/>
            <arg evaluator="xml" expression="//request/LicenseKey"/>
        </args>
    </payloadFactory>
    <property name="messageType" scope="axis2" type="STRING" value="application/json"/>
</sequence>

我对这项技术真的很陌生。 我只是按照文档中提到的步骤进行操作。 也许只是一个愚蠢的错误(即使我修改了几次)

也许有人遇到了同样的问题,可以帮助我。 提前致谢。

这是为您的 SOAP 服务生成 REST 接口的新功能。 试试那个。 它自动支持 SOAP-REST 转换。

https://docs.wso2.com/display/AM260/Generate+REST+APIs+from+SOAP+Backends

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM