wso2 的 属性 中介中的 Concat 操作无效
Concat operation in property mediator of wso2 is invalid
<property name="Code" expression="json-eval($.Code)" scope="default" type="STRING"/>
<property name="Endpoint" expression="json-eval($.data.InternalConfig.Events.Code.Endpoint)" scope="default"
<property expression="fn:concat(json-eval($.data.InternalConfig.Events'.'get-property('Code')'.'Endpoint)" name="URL" type="STRING" scope="default"/>
一个 属性 从有效载荷中获取,另一个从存储库中获取,我正在尝试合并到 1 属性
我相信您正在尝试在运行时使用动态值从负载中提取数据。如果是,我们可以利用 WSO2 平台中的 Script Mediator 来访问 JSON 有效载荷。
例如:
下面给出了一个示例负载,您正尝试使用 code
和 endpoint
值
从负载中提取数据:'some value here'
{
"userId": 10,
"code": 1,
"body": {
"id": 2,
"endpoint": "some-key",
"1": {
"anotherId": 30,
"title": "Lorum ipsum",
"some-key": "some value here"
}
}
}
下面给出了一个示例调解序列,使用脚本调解器来实现您的要求
<?xml version="1.0" encoding="UTF-8"?><sequence xmlns="http://ws.apache.org/ns/synapse" name="mediation-sequence">
<script language="js">
<![CDATA[
// read the JSON payload from the message context
var payload = mc.getPayloadJSON();
// read the property values
var code = payload["code"];
var endpoint = payload["body"]["endpoint"];
var extracted_value = payload["body"][code][endpoint];
// set the extracted value as property to message context
mc.setProperty("ExtractedValue", extracted_value);
]]>
</script>
<log level="custom">
<property name="Extracted value" expression="$ctx:ExtractedValue" />
</log>
</sequence>
希望这可以帮助您实现您的要求。
<property name="Code" expression="json-eval($.Code)" scope="default" type="STRING"/>
<property name="Endpoint" expression="json-eval($.data.InternalConfig.Events.Code.Endpoint)" scope="default"
<property expression="fn:concat(json-eval($.data.InternalConfig.Events'.'get-property('Code')'.'Endpoint)" name="URL" type="STRING" scope="default"/>
一个 属性 从有效载荷中获取,另一个从存储库中获取,我正在尝试合并到 1 属性
我相信您正在尝试在运行时使用动态值从负载中提取数据。如果是,我们可以利用 WSO2 平台中的 Script Mediator 来访问 JSON 有效载荷。
例如:
下面给出了一个示例负载,您正尝试使用 code
和 endpoint
值
'some value here'
{
"userId": 10,
"code": 1,
"body": {
"id": 2,
"endpoint": "some-key",
"1": {
"anotherId": 30,
"title": "Lorum ipsum",
"some-key": "some value here"
}
}
}
下面给出了一个示例调解序列,使用脚本调解器来实现您的要求
<?xml version="1.0" encoding="UTF-8"?><sequence xmlns="http://ws.apache.org/ns/synapse" name="mediation-sequence">
<script language="js">
<![CDATA[
// read the JSON payload from the message context
var payload = mc.getPayloadJSON();
// read the property values
var code = payload["code"];
var endpoint = payload["body"]["endpoint"];
var extracted_value = payload["body"][code][endpoint];
// set the extracted value as property to message context
mc.setProperty("ExtractedValue", extracted_value);
]]>
</script>
<log level="custom">
<property name="Extracted value" expression="$ctx:ExtractedValue" />
</log>
</sequence>
希望这可以帮助您实现您的要求。