mulesoft,如何将flowVars(字符串变量)转换为HashMap?

mulesoft,如何将flowVars(字符串变量)转换为HashMap?,mule,Mule,我正在尝试为HTTP请求设置有效负载,但当我使用groovy脚本设置有效负载时,HTTP请求抛出一个错误: 错误2017-04-17 12:24:12260[[test].HTTP\u Listener\u Configuration.worker.01]org.mule.exception.defaultMessaginExceptionStrategy: *********************************************************************

我正在尝试为HTTP请求设置有效负载,但当我使用groovy脚本设置有效负载时,HTTP请求抛出一个错误:

错误2017-04-17 12:24:12260[[test].HTTP\u Listener\u Configuration.worker.01]org.mule.exception.defaultMessaginExceptionStrategy: ******************************************************************************** 消息:响应代码400映射为故障。 有效载荷:org.glassfish.grizzly.utils。BufferInputStream@6568a94e 元素:/test/processors/1/3@test:test.xml:59(HTTP) 元素XML: http:请求生成器 -------------------------------------------------------------------------------- 根异常堆栈跟踪: org.mule.module.http.internal.request.ResponseValidatorException:响应代码400映射为失败

我的groovy代码是:

   def values = payload.toString().split('\\|')
   message.setInvocationProperty('oauthBody',values[1]);
然后我用flowVars设置有效载荷:

#[flowVars.oauthBody]
如果我只是像这样将有效负载字符串放入set-payload:它工作得很好

#[{'username':'test-admin','password':'Password1#','grant_type':'password','scope':'openid,profile,token,email,org'}]
但是当我使用groovy和flowVars时,它会给我一个错误


如果我做错了什么,请告诉我。

当您从flowVar设置有效负载时,它包含一个字符串

您的设置有效载荷为

#[{'username':'test-admin','password':'Password1#','grant_type':'password','scope':'openid,profile,token,email,org'}]
结果生成一个HashMap

我不知道您是如何调用您的http服务(GET、POST等)的,以及另一端是什么。我想知道为什么在发送HashMap(之前没有将其转换为XML或JSON)时它会工作