2012-06-07 84 views
0

我希望每當用戶輸入http://localhost:8280/services/Facebook/sea時,實際的請求應該是http://localhost:8280/services/Facebook/search?q=jack。這是我的代理服務Facebook的synapse.xml配置的一部分。但它不工作,配置有什麼問題?URL Rewrite Mediator WSO2 ESB

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

回答

0

需要更換的部分位於URL的路徑中。所以你應該把fragment屬性設置爲「path」。查詢部分應使用單獨的操作進行設置:

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