通过servce更新wso2 esb中的本地条目

通过servce更新wso2 esb中的本地条目,wso2,wso2esb,Wso2,Wso2esb,是否有任何方法可以从esb服务更新本地条目。我必须在全局变量中存储一个令牌,并且需要在它过期时更新它。我想把它保存在本地入口。看起来我无法从ESB服务/序列更新它 <localEntry key="TestLocalEntry" xmlns="http://ws.apache.org/ns/synapse"><![CDATA[TestValue]]></localEntry> 如果您的需求是存储全局变量而不是真正更新本地条目,那么可以使用esb注册表 尝试使

是否有任何方法可以从esb服务更新本地条目。我必须在全局变量中存储一个令牌,并且需要在它过期时更新它。我想把它保存在本地入口。看起来我无法从ESB服务/序列更新它

<localEntry key="TestLocalEntry" xmlns="http://ws.apache.org/ns/synapse"><![CDATA[TestValue]]></localEntry>

如果您的需求是存储全局变量而不是真正更新本地条目,那么可以使用esb注册表

尝试使用此js在governance registry中创建/更新条目(并在此示例中存储当前有效负载xml):


我已经设法用java脚本解决了这个问题

要获取属性值,请使用:

  <script language="js"><![CDATA[var Token = mc.getEnvironment().getServerContextInformation().getProperty("TokenVal");
     mc.setProperty("TokenVal",Token);]]></script>
<property expression="$ctx:TokenVal" name="TokenValue"
        type="STRING" xmlns:ns="http://org.apache.synapse/xsd"/>

以及更新价值使用:

 <script language="js"><![CDATA[var TokenValue = mc.getProperty("TokenValue");
        mc.getEnvironment().getServerContextInformation().addProperty("TokenVal",TokenValue);
        ]]></script>

但即便如此,如果wso2 esb中有任何资源,我也希望使用注册表资源

  <script language="js"><![CDATA[var Token = mc.getEnvironment().getServerContextInformation().getProperty("TokenVal");
     mc.setProperty("TokenVal",Token);]]></script>
<property expression="$ctx:TokenVal" name="TokenValue"
        type="STRING" xmlns:ns="http://org.apache.synapse/xsd"/>
 <script language="js"><![CDATA[var TokenValue = mc.getProperty("TokenValue");
        mc.getEnvironment().getServerContextInformation().addProperty("TokenVal",TokenValue);
        ]]></script>