簡體   English   中英

發送HTTP請求時出錯。 消息有效負載的類型為:HashMap

[英]Error sending HTTP request. Message payload is of type: HashMap

我無法從Anypoint Studio中生成POST消息:

我要完成的工作是將POST發送給我們的Kykloud api終結點,其中包含3個鍵值對作為有效載荷,作為x-www-form-urlencoded內容。

這是當前的視覺設置:

在此處輸入圖片說明

(旁注:我知道在秘密視圖中存儲機密信息和登錄數據是一種不好的做法。稍后,我將嘗試弄清楚如何正確執行此操作)

適當的XML如下所示:

<flow name="LoginFlow">
    <set-payload value="#[['ApiToken': 'xxxXXXxxxXXXxxxXXX']]" doc:name="Set ApiToken"/>
    <set-payload value="#[['Email':'serv[at]someaddress.com']]" doc:name="Set Email"/>
    <set-payload value="#[['Password':'VeryLongPenis']]" doc:name="Set Password"/>
    <http:request config-ref="KyklouConnectorns" path="/api/v2/sessions?format=json" method="POST" doc:name="Login to Kykloud" port="80" />
    <logger level="INFO" message="SessionId is #[message.payload.'SessionId']" doc:name="Logger"></logger>
</flow>

從理論上講,響應應該是其中帶有SessionId對象的JSON。

我實際上在POSTMAN中收到的是:

Error sending HTTP request. Message payload is of type: HashMap

顯然,我在定義有效負載時做錯了事,但是他們關於此的文檔尚不清楚如何正確使用:

HTTP請求主體Mule Message有效內容被轉換為字節數組,並作為HTTP請求的主體發送。 除非在以下情況下,否則始終執行此行為:

ule子消息的有效載荷是鍵和值的映射

郵件具有出站附件

生成具有Content-Type:application / x-form-urlencoded的請求正文每當消息有效負載是Map時,連接器都會自動生成帶有標頭Content-Type: application/x-www-form-urlencoded的HTTP請求。 有效負載中的映射的鍵和值在HTTP請求的主體中轉換為表單參數鍵和值。

您不需要為設置有效負載中的每個參數ei(username / pwd / api token)都設置一個設置有效負載,您只需要要發布的內容, 這種情況就不需要了 您需要在http請求中將(用戶名/ pwd / api令牌)設置為標頭。 除了上述三個之外,您可能還需要根據您的api將Content-type設置為application / json。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM