2012-07-18 66 views
2

我正在使用wso2ESB从户外使用户外用户名和密码获取登录票。之后我拨打服务如何在wso2esb中重写url

http://xx.xx.xxx.xx:8282/services/AlfrescoLogin 

我不得不追加

http://xx.xx.xxx.xx:8282/services/AlfrescoLogin?u=xxx&pw=xxx 

我已经定义了以下服务:

<proxy name="AlfrescoLogin" transports="https http" startOnLoad="true" trace="disable"> 
     <target> 
      <endpoint> 
       <address uri="http://XX.XX.XXX.XX:8080/alfresco/s/api/login"/> 
      </endpoint> 
      <inSequence> 
       <rewrite> 
        <rewriterule> 
         <action value="u=xxxxx" type="set" fragment="query"/> 
         <action value="pw=xxxxx" type="set" fragment="query"/> 
        </rewriterule> 
       </rewrite> 
      </inSequence> 
      <outSequence> 
       <send/> 
      </outSequence> 
     </target> 
    </proxy> 

但下面的配置没有任何影响。我试着设置action标签的type属性来追加。我仍然需要手动将这些参数添加到网址中。

回答

1

以下URL重写配置会对您的URL执行所需的转换。

<rewrite> 
    <rewriterule> 
     <action value="u=xxx&amp;pw=xxx" type="set" fragment="query"/> 
    </rewriterule> 
</rewrite> 
+0

谢谢,我已经成功地得到那个工作,现在在我的服务器日志中我看到重写我想要的方式它的URL(HTTP://xx.xx.xxx.xx:8282 /服务/ AlfrescoLogin ?U = XXX&PW = XXX)。但是,这些参数不会附加到后端的实际服务中,我打电话给它的将是源代码示例中的http://XX.XX.XXX.XX:8080/alfresco/s/api/login。 。 – Ivo 2012-07-24 07:38:31