如何在WSO2ESB中获取格式化日期作为属性



我试图使用wso2 ESB 4.9.0格式化有效负载中的日期。我可以使用以下方法格式化系统数据e。

<property expression="get-property('SYSTEM_DATE','MM-dd-yyyy')"
name="uri.var.TransactionDate" xmlns:ns="http://org.apache.synapse/xsd"/>

但我需要的是格式属性值,如下所示,但格式不正确。

<property expression="get-property('uri.var.TransactionDate','MM-dd-yyyy')"
name="TransactionDate" xmlns:ns="http://org.apache.synapse/xsd"/>

使用这样的格式仅适用于SYSTEM_DATE属性。如果你想格式化你自己的财产,你必须使用其他技术。例如,XSLT[1]中提供了几个日期格式函数。虽然不那么漂亮,但如果传入的事务日期总是相同的长度,您也可以使用子字符串[2][3]的串联。例如,假设您的uri.var.TransActionDate为yyyyMMdd,并且您希望格式化为MM-dd-yyyy:

<property expression="concat(substring($ctx:uri.var.TransActionDate, 5, 2), '-', substring($ctx:uri.var.TransActionDate, 7, 2), '-', substring($ctx:uri.var.TransActionDate, 1, 4))" name="TransactionDate"/>

希望这能让你走上正轨!

[1]https://www.oreilly.com/library/view/xslt-2nd-edition/9780596527211/ch04s05.html[2]https://developer.mozilla.org/en-US/docs/Web/XPath/Functions/substring[3]https://developer.mozilla.org/en-US/docs/Web/XPath/Functions/concat

相关内容

  • 没有找到相关文章

最新更新