0

我希望每当用户键入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>
4

1 回答 1

0

需要替换的部分在 URL 的路径中。所以你应该将片段属性设置为“路径”。查询部分应使用单独的操作进行设置:

        <rewrite>
             <rewriterule>
                <action value="search" regex="sea" type="replace" fragment="path"/>
                <action value="q=jack" type="set" fragment="query"/>
             </rewriterule>
        </rewrite>
于 2012-06-08T04:16:20.163 回答