【问题标题】:mulesoft, How to convert a flowVars (String variable) in to a HashMap?mulesoft,如何将 flowVars(字符串变量)转换为 HashMap?
【发布时间】:2017-04-17 07:11:50
【问题描述】:

我正在尝试为 HTTP 请求设置有效负载,但是当我使用 groovy 脚本设置有效负载时,HTTP 请求会引发错误:

错误 2017-04-17 12:24:12,260 [[test].HTTP_Listener_Configuration.worker.01] org.mule.exception.DefaultMessagingExceptionStrategy: ****************************************************** ****************************** 消息:响应代码 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 映射为失败。

我的常规代码是:

   def values = payload.toString().split('\\|')
   message.setInvocationProperty('oauthBody',values[1]);

然后我正在使用 flowVars 设置有效负载:

#[flowVars.oauthBody]

如果我像这样将有效负载字符串放入 set 有效负载中:它可以正常工作。

#[{'username':'test-admin','password':'Password1#','grant_type':'password','scope':'openid,profile,token,email,org'}]

但是当我使用 groovy 和 flowVars 时,它给了我一个错误。

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

【问题讨论】:

    标签: mule


    【解决方案1】:

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

    你设置的有效载荷

    #[{'username':'test-admin','password':'Password1#','grant_type':'password','scope':'openid,profile,token,email,org'}]
    

    产生一个 HashMap。

    我不知道您如何调用您的 http 服务(GET、POST、...)以及另一边的内容。我想知道为什么当您向它发送 HashMap 时它会起作用(之前没有将其转换为 XML 或 JSON)。

    【讨论】:

      猜你喜欢
      • 2021-01-13
      • 1970-01-01
      • 1970-01-01
      • 2012-05-17
      • 2014-03-10
      • 2013-06-26
      • 1970-01-01
      相关资源
      最近更新 更多