WSO2 API Manager工具:无法转换JSONtoSOAP,然后转换为SOAPtoJSON以在模拟后端和API之间进行通信

问题描述 投票:1回答:1

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

The intended response was

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

my curl and the error

编辑¹:运行测试后,我发现问题只与SOAPtoJSON转换有关。当我在没有OUT(SOAPtoJSON)序列的情况下POST时,我得到的XML答案完全按照预期显示here

那是我对SOAP.xml的JSON:

<?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>

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

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

json xml api wso2 converters
1个回答
1
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.