【问题标题】:Extract variable policy not working提取变量策略不起作用
【发布时间】:2014-01-17 17:10:00
【问题描述】:

我已将提取变量策略配置为以下

<ExtractVariables name="ExtractURIVariables">
    <URIPath>
        <Pattern>/{username}/age/{age}/*</Pattern>
    </URIPath>
</ExtractVariables>

但是当它执行时我看不到用户名和年龄变量集。

【问题讨论】:

    标签: documentation apigee


    【解决方案1】:

    您的策略正常运行,但它需要如下 URL:

    {proxybase}/bob/age/35/somethinghere

    因为 /* 不是可选的。

    不匹配 {proxybase}/bob/age/35

    您可以使用以下内容:

    <ExtractVariables name="ExtractURIVariables">
        <URIPath>
            <Pattern>/{username}/age/{age}</Pattern>
            <Pattern>/{username}/age/{age}/*</Pattern>
        </URIPath>
    </ExtractVariables>
    

    当提供多个模式时,将选择第一个匹配项。

    更新后的政策将匹配

    {proxybase}/bob/age/35
    {proxybase}/bob/age/35/somethinghere
    

    如果您想匹配任意数量的以下 URI 级别,请使用两个星号而不是一个星号。

    【讨论】:

    • 感谢您的回答,但在执行策略时,我看不到“变量得到”字段中分配的变量
    • 它们应该出现在跟踪的变量集部分。我测试了你的政策,它对我有用,所以代理可能是一个不同的问题。如果您在某处发布完整代理,我可以为您查看。
    • 使用跟踪工具和您的策略,我看到 Variables Got 显示“proxy.pathsuffix: /bob/age/14/somethinghere”,而 Variables Set 显示“username: bob”和“age: 14 "
    猜你喜欢
    • 2013-03-30
    • 2023-04-07
    • 1970-01-01
    • 2021-06-24
    • 2012-04-06
    • 1970-01-01
    • 2013-10-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多