URL重写中介器WSO2 ESB

URL重写中介器WSO2 ESB,wso2,wso2esb,Wso2,Wso2esb,每当用户键入http://localhost:8280/services/Facebook/sea实际请求应为http://localhost:8280/services/Facebook/search?q=jack。这是我为Facebook代理服务synapse.xml配置的一部分。但它不工作,配置有什么问题 <proxy name="Facebook" transports="https http" startOnLoad="true" trace="disable">

每当用户键入
http://localhost:8280/services/Facebook/sea
实际请求应为
http://localhost:8280/services/Facebook/search?q=jack
。这是我为Facebook代理服务synapse.xml配置的一部分。但它不工作,配置有什么问题

<proxy name="Facebook" transports="https http" startOnLoad="true" trace="disable">
        <target>
            <endpoint>
                <address uri="http://graph.facebook.com"/>
            </endpoint>
            <inSequence>
                <rewrite>
                    <rewriterule>
                        <action value="search?q=jack" regex="sea" type="replace" fragment="host"/>
                    </rewriterule>
                </rewrite>
                <log level="full"/>
            </inSequence>
            <outSequence>
                <send/>
            </outSequence>
        </target>
    </proxy>

需要替换的部分位于URL路径中。因此,您应该将fragment属性设置为“path”。应使用单独的操作设置查询部分:

        <rewrite>
             <rewriterule>
                <action value="search" regex="sea" type="replace" fragment="path"/>
                <action value="q=jack" type="set" fragment="query"/>
             </rewriterule>
        </rewrite>