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 中设置值,但它不起作用。
您的分配消息策略配置不正确。
假设您需要同一策略中的变量,则需要按如下方式配置 -
<?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 政策。