2017-04-17 39 views
0

我想爲HTTP請求設置一個有效負載,但是當我使用groovy腳本設置有效負載時,HTTP請求會拋出一個錯誤:mulesoft,如何將一個flowVars(String變量)轉換爲一個HashMap?

錯誤2017-04-17 12:24:12,260 [[test]。 HTTP_Listener_Configuration.worker.01] org.mule.exception.DefaultMessagingExceptionStrategy: *********************************** ********************************************* 消息:響應代碼400映射爲失敗。 有效載荷:[email protected] 元素:/測試/處理器/ 1/3 @測試:的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] 

如果我只是把有效載荷字符串中設置有效載荷是這樣的:它工作正常。

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

但是,當我用groovy和flowVars做它時,它給了我一個錯誤。

請讓我知道如果我做錯了什麼。

回答

0

當您從flowVar設置有效負載時,它包含一個字符串。

你一套有效載荷與

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

導致一個HashMap。

我不知道你是如何調用你的http服務(GET,POST,...)以及另一方面有什麼。我想知道爲什麼它在你發送一個HashMap的時候工作(之前沒有把它轉換爲XML或者JSON)。

相關問題