使用Dataweave从消息中提取字符串

时间:2017-01-22 17:44:58

标签: mule anypoint-studio dataweave

我想使用Dataweave在第一个和第一个之间提取文本(在这种情况下是“文件不正确”,但在其他情况下它可能不同。

java.lang.Exception: File incorrect (javax.script.ScriptException). (org.mule.api.transformer.TransformerMessagingException).

我已经查看了一些可用的字符串操作,看起来只有在知道文本的位置或要提取的文本时才能使用它。

我该怎么做?

由于

2 个答案:

答案 0 :(得分:1)

你可以在datatweave中使用正则表达式和匹配函数来提取它。试试下面的Dwl

%dw 1.0

%var exceptionMsg = 'java.lang.Exception: File incorrect( javax.script.ScriptException). (org.mule.api.transformer.TransformerMessagingException).'
%output application/json
---
trim (exceptionMsg match /^(.*):([^(]*).*$/)[2]

答案 1 :(得分:-1)

您可以从Dateweave调用groovy函数来提取所需的字符串,如下所示:

public class DataLoader implements RoutesBuilder{


    public void configure() throws Exception {
        from("direct:fetchDetails").setBody(simple("select * from  details where loaded=${exchangeProperty.details.loaded}")).to("jdbc");
    }

}