【问题标题】:WSO2 AM HTTP Endpoint rewrite urlWSO2 AM HTTP 端点重写 url
【发布时间】:2016-04-26 14:00:01
【问题描述】:

我正在尝试实现 WSO2 API 管理器来处理对 API 端点的调用并对响应进行一些调解。我在发布者中添加了一个 API,为远程 API 设置了一个 http 端点并实现了一些中介。一切正常。 我有以下映射: {context}/{version}/RetrieveResource/{resourceid} -> {api server}/RetrieveResource/{resourceid}

现在我想像这样更改映射: {context}/{version}/Resource/{resourceid} -> {api server}/RetrieveResource/{resourceid}

所以我希望我的 WSO2 api 具有调用远程 api /RetrieveResource/1 的路径 /Resource/1。因此,我尝试在我的顺序中使用重写调解器。这会更改我的“To”标头,但不会调用正确的端点路径。我调用 Resource/1,我将它调解为 RetrieveResource/1,但 WSO2 仍将端点称为 Resource/1,这当然给了我 404。

我的调解员如下所示:

<sequence xmlns="http://ws.apache.org/ns/synapse" name="custom_in">
    <property name="WSO2_AM_API_ACCEPT_MESSAGE_TYPE" expression="get-property('transport', 'Accept')" scope="default"/>
    <property name="Accept" scope="transport" action="remove"/>

    <rewrite xmlns="http://ws.apache.org/ns/synapse">
        <rewriterule>
            <action value="RetrieveResource" regex="Resource" type="replace" fragment="path"/>
        </rewriterule>
    </rewrite>

</sequence>

我显然遗漏了一些东西,任何帮助将不胜感激。

【问题讨论】:

    标签: wso2 wso2esb wso2-am


    【解决方案1】:

    经过大量的跟踪和错误,我找到了以下解决方案。也许这可以帮助将来的人。

    <property name="querystrings" expression="get-property('To')"/>
    
    <rewrite outProperty="querystrings" xmlns="http://ws.apache.org/ns/synapse">
        <rewriterule>
            <action value="<what you want>" regex="<what you have>" type="replace" fragment="path"/>
        </rewriterule>
    </rewrite>
    
    <property name="REST_URL_POSTFIX"
                    expression="get-property('querystrings')"
                    scope="axis2"/>
    

    【讨论】:

      【解决方案2】:

      WSO2 API Cloud 的类似情况下,我使用 Property 中介将新值设置为 REST_URL_POSTFIX,如本教程所述:https://docs.wso2.com/display/APICloud/Change+the+Default+Mediation+Flow+of+API+Requests

      【讨论】:

      • 感谢您的回答。我怀疑我需要更改 REST_URL_POSTFIX。我在 XML 中尝试过,但没有成功,您是否碰巧有一个如何做到这一点的示例?我想避免使用 Eclipse 编写中介。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多