xml - 无法使用 json-eval 在 WSO2 ESB 配置中应用 concat 函数

标签 xml concat jsonpath apache-synapse wso2-esb

我正在尝试设置此表达式以获得输出文件名作为城市名称和文件扩展名之间的连接:

<?xml version="1.0" encoding="UTF-8"?>
<sequence name="WriteFile_City" xmlns="http://ws.apache.org/ns/synapse">
<property expression="concat(json-eval($.city.name),'.xml')"
    name="transport.vfs.ReplyFileName" scope="transport"
    type="STRING" xmlns:ns="http://org.apache.synapse/xsd"/>
<property name="OUT_ONLY" value="true"/>
<send>
    <endpoint>
        <address uri="vfs:file:///C:/myFolder"/>
    </endpoint>
</send>
</sequence>

如果我只尝试插入城市名称,它会起作用:第三行将是

<property expression="json-eval($.city.name)"

并以这种方式将我的输出保存在一个名为“London”的文件中,例如。但是我需要将输出保存为“London.xml”,但我不明白这个 concat 函数的问题在哪里。

最佳答案

您是否尝试过 fn:concat(json-eval($.city.name),'.xml') 而不是简单地 concat(....) ? 我知道在使用带有某些表达式的函数时我已经添加了问题。我通常也尝试先声明一个属性,然后像这样使用它

<property expression="json-eval($.city.name)" name="city"/>
<property expression="concat(get-property('city'),'.xml')"
name="transport.vfs.ReplyFileName" scope="transport"
type="STRING" xmlns:ns="http://org.apache.synapse/xsd"/>

关于xml - 无法使用 json-eval 在 WSO2 ESB 配置中应用 concat 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41631258/

相关文章:

java - 如何在菜单项中创建 ListView ?

php - 使用 XML 仅显示具有特定属性的产品

java - 撒克逊 XSLT。扩展函数只调用一次

sql - 如何使用 SQL CONCAT/SUBSTR?

python - 将两个 pandas DataFrame 与一个唯一的列组合起来,并保留行索引 (Python)

类似 xpath 的 protobuf 消息查询

android - 服务器无法处理您的请求,值不能为空 :soap parsing

java - 2 个不同的 Json 对象作为响应打印,如何将它们分开并读取第二个对象中元素的值

javascript - 如何在 JSONPATH 中获取父节点

MySQL concat 与 INNER JOIN