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