- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用数据映射器。我正在尝试根据自己的喜好修改脚本,但我一直收到错误,即使在图形可视化中它似乎工作正常我可以看到字符串分开。
这是我的脚本
String streetnumaddress = input.streetAddress;
String[] parts = streetnumaddress.split(",");
String streetnumber = parts[0];
String streetaddress = parts[1];
output.blabla= "Hello";
output.telephone = input.telephoneNumber;
output.lastname= input.sn;
output.firstname= input.givenName;
output.email = input.mail;
output.city= input.l;
output.province = input.st;
output.codepostal = input.postalCode;
output.country= "CA";
output.telephoneinternet = input.telephoneNumber;
output.immeubleetsuffixe = streetnumber;
output.odonyme = streetaddress;
基本上问题是 split 。当我像 output.blabla= "Hello"; 这样直接影响一个 String 时这行得通。但是 split 和做作是行不通的。知道如何修复它吗?一开始是否有可能做到这一点?
这是我的错误。
Exception while trying to execute your data mapping.
Check:
• All the required libraries are declared on the classpath.
• No errors are shown on the mapping.
• If using groovy script, check your script is valid.
Cause By:
Component [Foreach 'array' -> 'array':FOREACH_ARRAY_ARRAY] finished with status ERROR.
org.jetel.exception.JetelRuntimeException: Component [Foreach 'array' -> 'array':FOREACH_ARRAY_ARRAY] finished with status ERROR.
at org.jetel.graph.Node.createNodeException(Node.java:543)
at org.jetel.graph.Node.run(Node.java:522)
at org.jetel.graph.runtime.SingleThreadWatchDog.executePhase(SingleThreadWatchDog.java:88)
at org.jetel.graph.runtime.WatchDog.call(WatchDog.java:266)
at com.mulesoft.mule.module.datamapper.clover.impl.CloverEngineImpl.execute(CloverEngineImpl.java:92)
at com.mulesoft.mule.module.datamapper.clover.impl.CloverEngineImpl.execute(CloverEngineImpl.java:151)
at com.mulesoft.mule.module.datamapper.clover.impl.CloverEngineImpl.execute(CloverEngineImpl.java:37)
at com.mulesoft.mule.module.datamapper.impl.DefaultGraphExecutor.execute(DefaultGraphExecutor.java:85)
at com.mulesoft.mule.module.datamapper.api.DataMapperHelper.execute(DataMapperHelper.java:38)
at sun.reflect.GeneratedMethodAccessor48.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.mulesoft.mule.datamapper.ui.graph.service.impl.SingleGraphLauncher.launch(SingleGraphLauncher.java:82)
at com.mulesoft.mule.datamapper.ui.utils.RunGraphJob.run(RunGraphJob.java:59)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: org.jetel.exception.TransformException: Message: Transform failed!
at org.jetel.component.DataRecordTransform.transformOnError(DataRecordTransform.java:132)
at org.jetel.component.Reformat.execute(Reformat.java:273)
at org.jetel.graph.Node.run(Node.java:493)
... 13 more
Caused by: org.mule.api.expression.ExpressionRuntimeException: Execution of the expression "//MEL
//START -> DO NOT REMOVE
output.__id = str2long(input.__id);
//END -> DO NOT REMOVE
String streetnumaddress = input.streetAddress;
String[] parts = streetnumaddress.split(",");
String streetnumber = parts[0];
String streetaddress = parts[1];
output.blabla= "Hello";
output.telephone = input.telephoneNumber;
output.lastname= input.sn;
output.firstname= input.givenName;
output.email = input.mail;
output.city= input.l;
output.province = input.st;
output.codepostal = input.postalCode;
output.country= "CA";
output.telephoneinternet = input.telephoneNumber;
output.immeubleetsuffixe = streetnumber;
output.odonyme = streetaddress;" failed.
at org.mule.el.mvel.DataMapperExpressionLanguage.evaluate(DataMapperExpressionLanguage.java:71)
at com.mulesoft.datamapper.transform.MelRecordTransform.transform(MelRecordTransform.java:53)
at org.jetel.component.Reformat.execute(Reformat.java:271)
... 14 more
Caused by: java.lang.RuntimeException: cannot invoke method: split
at org.mule.mvel2.optimizers.impl.refl.nodes.MethodAccessor.getValue(MethodAccessor.java:63)
at org.mule.mvel2.optimizers.impl.refl.nodes.VariableAccessor.getValue(VariableAccessor.java:37)
at org.mule.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:108)
at org.mule.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:38)
at org.mule.mvel2.ast.TypedVarNode.getReducedValueAccelerated(TypedVarNode.java:70)
at org.mule.mvel2.MVELRuntime.execute(MVELRuntime.java:86)
at org.mule.mvel2.compiler.CompiledExpression.getDirectValue(CompiledExpression.java:123)
at org.mule.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:119)
at org.mule.mvel2.MVEL.executeExpression(MVEL.java:943)
at org.mule.el.mvel.MVELExpressionExecutor.execute(MVELExpressionExecutor.java:72)
at org.mule.el.mvel.MVELExpressionExecutor.execute(MVELExpressionExecutor.java:35)
at org.mule.el.mvel.DataMapperExpressionLanguage.evaluate(DataMapperExpressionLanguage.java:67)
... 16 more
Caused by: java.lang.NullPointerException
at sun.reflect.GeneratedMethodAccessor59.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.mule.mvel2.optimizers.impl.refl.nodes.MethodAccessor.getValue(MethodAccessor.java:48)
... 27 more
最佳答案
我将其改为 Groovy 脚本:
String acronymeministere = "YOOOO;"
String pays = "CA;"
String finalString = ""
payload.each { p ->
String telephoneinternet = ";";
String telephone = ";";
String telecopieur = ";"
String nomdefamille = ";";
String prenom = ";";
String initale =";"
String qualificateurdegen = ";"
String email = ";";
String immeubleetsuffixe = ";"
String odonyme = ";"
String ville = ";";
String province = ";";
String codepostal = ";";
String casepostale = ";"
String bureau = ";"
String etage = ";"
String localisation = ";"
String edifice = ";"
String autres =";"
if(p.streetAddress != null){
String streetnumaddress = p.streetAddress;
String[] parts = streetnumaddress.split(",");
immeubleetsuffixe = parts[0].trim() + immeubleetsuffixe
odonyme = parts[1].trim() + odonyme
}
telephoneinternet = p.telephoneNumber.toString().trim() + telephoneinternet
telephone = p.telephoneNumber.toString().trim() + telephone
nomdefamille = p.sn.toString().trim() + nomdefamille
prenom = p.givenName.toString().trim() + prenom
email = p.mail.toString().trim() + email
ville = p.l.toString().trim() + ville
province = p.st.toString().trim() + province
codepostal = p.postalCode.toString().trim() + codepostal
finalString += ('"' + acronymeministere+telephoneinternet+telephone+telecopieur+nomdefamille
+prenom+initale+qualificateurdegen+email+immeubleetsuffixe
+odonyme+ville+province+codepostal+casepostale+pays+bureau+
etage+localisation+edifice+autres+ '"'+'\n')
}
return finalString
关于java - Mule ESB 的 DataMapper 自定义脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29280332/
我想将 smooks 集成到 mule ide 中。我们正在尝试从 webmethods 转移到 mule。我们在 smmoks 中有一个可用的 Edi 转换,我们想使用它。我找到了可以集成到 mul
当使用 Mule Maven 插件在 Mule 独立服务器上部署可部署存档时,我间歇性地收到此错误。 Error : Caused by: org.apache.maven.plugin.MojoEx
mule 线程中的默认线程数是多少。例如,如果我在 mule 中创建了一个 http 连接器并且没有指定接收器线程大小,那么它可以处理的最大并发请求数是多少? 最佳答案 默认值为 16。 这个值和其他
早上好,我正在尝试设置一个属性并访问它。但无法访问属性集。 我试图访问从客户端设置的 SplitterAggregator 中的属性。 以下是骡子配置。 以下是客户
我一直在试图弄清楚,入站终点和出站终点究竟是什么。对我来说,这有点难以理解。 骡子流中的入站和出站端点究竟是什么?如果流想要发送消息,则在接收时应使用哪个端点。或者当应用程序想要调用一个流时,它应该与
我有一个要求,我必须将 JSON 数据从一种格式转换为另一种格式。我必须获取 JSON 数组的相应值,并使它们成为键值对。 以下是所需的详细信息: 输入: "Headers": { "Head
我是 mule soft 的新手。我不知道 mule studio 和 mule esb 有什么区别。这两个软件只是看起来一样。 mule studio 是图形表示,我们也可以通过代码生成。我怎样才能
我正在尝试评估 Mule 提供的一组开箱即用的传输,并将其与来自例如ServiceMix 和 OpenESB。 在 Mule 的主页上,我找到了支持的传输列表: http://www.mulesoft
我创建了一个 mule 应用程序,当我使用 mule 3.5.6 CE 运行它时,它在 anypoint studio 中运行良好,但是当我尝试在 mule-standalone-3.6.1 中部署它
我们需要监控 HornetQ 消息(Jboss 的一部分)——监控是在消息到达队列、消息数量、消息消耗、审核消息有效负载方面。 HornetQ 是否公开 JMX Mbean 来监控这个过程? 作为集成
我有一个执行 XSLT 转换的 Mule 流,我已将我的 XSL 样式表放在 src/main/resources/ 中。当我打包我的应用程序并将其部署到 Mule Standalone 实例时,应用
我有用例,我需要加密 src/main/resources 下的属性文件中显示的值。 Mule 提供了一个名为 Mule Credentials Vault 的概念。在该文档中,我们可以在“Mule
我正在将 Mule 1.3 应用程序升级到 Mule 3.2.1(最新版本)。 Mule 1.3 配置文件有一个“model”元素和许多“mule-descriptor”子元素。
我对 Mule Studio 很陌生。 我正面临一个问题。我需要使用 Mule Studio 将数据从 CSV 文件插入到 PostgreSQL 数据库。 我正在使用 Mule Studio CE(版
一段时间以来,每当我通过图形编辑器保存流程时,mule studio 中总是出现 java.lang.assertionError 错误。如果我直接对 XML 进行更改,我不会收到任何错误。有人遇到过
是否有某种方法可以获取已部署的 mule 应用程序的基本 mule 应用程序名称? 到目前为止我发现的仅有的两个选项是: muleContext.getConfiguration().getId()
我正在尝试将我的输入字段与正则表达式相匹配。但它给出了 mule-expression 错误, regex: ^(?:[1-9][0-9]?(?:\.[0-9]{2})?|100(?:\.0{2})?
我是 Mule 的新手,我想了解独立 mule 与嵌入式 mule 之间的区别。我已经阅读了有关此的主题,但我无法回答一个问题。 Mule standalone 是如何工作的?它如何处理网络服务?它有
我想开始有条件的 mule quartz..例如:在 mule peroperties 文件中,我设置了一个 flag=on。如果该标志打开,那么调度程序将启动。如果该标志关闭,则不会调用 sched
我需要检查 JSON 对象中是否存在特定关键字,并在此基础上创建一个字符串。我的示例 dataweave 2.0 代码如下: %dw 2.0 output application/json var a
我是一名优秀的程序员,十分优秀!