骡子 4

时间:2021-06-22 04:35:14

标签: anypoint-studio mulesoft

%dw 2.0
import * from dw::core::Binaries
output application/json
var userCredentials =  vars.userCredentials.userName as String ++ ":" ++ vars.userCredentials.password as String
---

"Basic "++ toBase64(userCredentials as String)

Error [MULE:EXPRESSION] while running test 'get-authorization-token-test-success':"Cannot coerce Null (org.mule.weave.v2.model.values.NullValue$@799da78a) to String

1| %dw 2.0 import * from dw::core::Binaries output application/json var userCredentials =  vars.userCredentials.userName as String ++ ":" ++ vars.userCredentials.password as String ---  "Basic "++ toBase64(userCredentials as String)
                                                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Trace:
  at ++ (line: 1, column: 89)
  at ++ (line: 1, column: 129)
  at main (line: 1, column: 136)" evaluating expression: "%dw 2.0 import * from dw::core::Binaries output application/json var userCredentials =  vars.userCredentials.userName as String ++ ":" ++ vars.userCredentials.password as String ---  "Basic "++ toBase64(userCredentials as String)".

2 个答案:

答案 0 :(得分:0)

我假设问题是导致显示错误的原因。该错误实际上是自我描述的:您不能将空值与字符串连接起来。脚本的下划线部分指示问题的位置。问题似乎是变量 vars.userCredentials 为空或者它不包含名为 userName 的属性。您必须弄清楚为什么它以空值到达脚本并修复它。

答案 1 :(得分:0)

仔细检查存储在 vars.userCredentials 中的值。 当此值或其元素 userName 或 password 为空时,会出现此错误。 在您的数据编织中,您已将语句 vars.userCredentials.userName 编写为 String

它在运行时被作为空字符串 ==> 执行,因此 Mule 运行时引擎抛出一个错误。

  • Mahesh Raja Vandyala