无法修改 Apigee 政策中 javascript 中的值

问题描述 投票:0回答:1

Apigee 问题:我正在尝试修改变量,然后在以下流程中使用它,下面是我正在使用的策略,但无论我如何访问,offsetValue 的值似乎始终为空。

    <AssignVariable>
        <Name>data.request.offset</Name>
        <Value>0</Value>
    </AssignVariable>
    <AssignMessage>
        <Set>
            <Payload contentType="application/javascript">
                context.setVariable("offsetValue", 50);
            </Payload>
        </Set>
    </AssignMessage>
    <AssignVariable>
        <Name>data.request.offset</Name>
        <Value ref="offsetValue" />
    </AssignVariable>

我尝试在 JavaScript 中设置值,但它不起作用。

apigee
1个回答
0
投票

您的分配消息策略配置不正确。

假设您需要同一策略中的变量,则需要按如下方式配置 -

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="AM-SetVars">
    <DisplayName>AM-SetVars</DisplayName>
    <Properties/>
    <AssignVariable><!-- This is redundant though -->
        <Name>data.request.offset</Name>
        <Value>0</Value>
    </AssignVariable>
    <AssignVariable>
        <Name>offsetValue</Name>
        <Value>50</Value>
    </AssignVariable>
    <AssignVariable>
        <Name>data.request.offset</Name>
        <Ref>offsetValue</Ref>
    </AssignVariable>
    <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
    <AssignTo createNew="false" transport="http" type="request"/>
</AssignMessage>

请查阅文档,了解有关分配消息策略的更多信息。

此外,如果您希望使用 Javascript 来执行此操作,则需要添加 Javascript 政策

© www.soinside.com 2019 - 2024. All rights reserved.