wso2 rest api 克隆和聚合

wso2 rest api clone and aggregate

我正在尝试合并来自两个不同服务的两个响应。我尝试了很多方法来实现这一目标。到目前为止,这就是我得到的。

<?xml version="1.0" encoding="UTF-8"?>
<api context="/movieapi" name="movieapi" xmlns="http://ws.apache.org/ns/synapse">
    <resource methods="GET" uri-template="/*">
        <inSequence>
            <property name="ROOT" scope="default">
                <root:rootelement xmlns:root="www.wso2esb.com"/>
            </property>
            <log level="full"/>
            <clone continueParent="true" id="movie" sequential="true">
                <target>
                    <sequence>
                        <send>
                            <endpoint>
                                <address format="rest" trace="disable" uri="http://localhost:8280/moviedbapi/movie/tt0918940?api_key=code"/>
                            </endpoint>
                        </send>
                    </sequence>
                </target>
                <target>
                    <sequence>
                        <send>
                            <endpoint>
                                <address format="rest" trace="disable" uri="http://localhost:8280/omdbapi/?type=movie&amp;i=tt0918940"/>
                            </endpoint>
                        </send>
                    </sequence>
                </target>
            </clone>
        </inSequence>
        <outSequence>
            <aggregate>
                <completeCondition>
                    <messageCount max="-1" min="-1"/>
                </completeCondition>
                <onComplete enclosingElementProperty="ROOT" expression="//return">
                    <respond/>
                </onComplete>
            </aggregate>
        </outSequence>
        <faultSequence/>
    </resource>
</api>

这是回复 [1] http://pastebin.com/mTzYAkNB [2] http://pastebin.com/v3GQ3kbD

尝试以下 API:

<?xml version="1.0" encoding="UTF-8"?>
<api context="/movieapi" name="movieapi" xmlns="http://ws.apache.org/ns/synapse">
 <resource methods="GET" uri-template="/*">
    <inSequence>
        <property name="ROOT" scope="default">
            <root:rootelement xmlns:root="www.wso2esb.com"/>
        </property>
        <log level="full"/>
        <clone continueParent="true" id="movie" sequential="true">
            <target>
                <sequence>
                    <send>
                        <endpoint>
                            <address format="rest" trace="disable" uri="http://localhost:8280/moviedbapi/movie/tt0918940?api_key=code"/>
                        </endpoint>
                    </send>
                </sequence>
            </target>
            <target>
                <sequence>
                    <send>
                        <endpoint>
                            <address format="rest" trace="disable" uri="http://localhost:8280/omdbapi/?type=movie&amp;i=tt0918940"/>
                        </endpoint>
                    </send>
                </sequence>
            </target>
        </clone>
    </inSequence>
    <outSequence>
        <aggregate>
            <completeCondition>
                <messageCount max="-1" min="-1"/>
            </completeCondition>
            <onComplete enclosingElementProperty="ROOT" expression="//return">
            <property name="messageType" scope="axis2" type="STRING" value="application/json"/>
                <respond/>
            </onComplete>
        </aggregate>
    </outSequence>
    <faultSequence/>
</resource>
</api>