簡體   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