wso2 ESB是否可以在将URL发送到端点之前删除该参数?

时间:2016-06-15 23:50:05

标签: wso2 wso2esb wso2carbon wso2dss

我的代理收到一个参数来做出决定,我不想发送端点,如何在调用端点之前将其删除?

2 个答案:

答案 0 :(得分:1)

您可以使用 URLRewrite 中介。 wso2库中有一个很好的例子,您也可以参考wso2官方文档

http://wso2.com/library/3297/

https://docs.wso2.com/display/ESB480/URLRewrite+Mediator

答案 1 :(得分:1)

在我的解决方案中,当它等于propName = V1或propName = V2

时,我删除了查询
<inSequence>
     <property name="sw_prop" expression="$url:propName"
               scope="default" type="STRING"/>

     <property name="querystrings" expression="$axis2:REST_URL_POSTFIX"/>

     <rewrite inProperty="querystrings" outProperty="querystrings">
        <rewriterule>
           <condition>
              <or>
                 <equal type="url" source="query" value="propName=V1"/>
                 <equal type="url" source="query" value="propName=V2"/>
              </or>
           </condition>
           <action type="remove" fragment="query"/>
        </rewriterule>
     </rewrite>

     <property name="REST_URL_POSTFIX"
               expression="get-property('querystrings')"
               scope="axis2"/>

     <switch source="get-property('sw_prop')">
        <case regex="V1">
           <send>
              <endpoint key="EP1"/>
           </send>
        </case>
        <case regex="V2">
           <send>
              <endpoint key="EP2"/>
           </send>
        </case>
        <default>
           <send>
              <endpoint key="AggProxyEP"/>
           </send>
        </default>
     </switch>
</inSequence>