2015-04-02 80 views
0

使用mule - 如何發佈json數據來調用我的應用程序url並獲得響應。我有我的json數據如下圖所示:mule http post json data thru httpendpoint

{ 
    "Reservation" : { 
     "reservation" : { 
      "@id" : "123456789" 
     }, 
     "arrivingDate" : "03-09-2012", 
     "departureDate" : "03-15-2012", 
     "guestName" : "Fred", 
     "guestLastName" : "Davis", 
     "hotelID" : "03", 
     "room" : "1001", 
     "oceanView" : "true", 

    } 
} 

我想通過MULE HTTP ENDPOINT後我的JSON數據到我的應用程序http://localhost:8080/myapplication/createreservation,並得到一些應用程序響應返回。歡迎任何建議。

回答

0

我想首先要說的是你的JSON數據是無效的..不應該有結尾處的逗號..可能會丟失一些屬性

如果你想要把數據上傳到外部應用程序你可以按照下面的例子: -

<flow name="BestelItems" doc:name="BestelItems"> 
<http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" doc:name="HTTP"/> 
<set-payload doc:name="Set Payload" value="{ &quot;Reservation&quot; : { &quot;reservation&quot; : { &quot;@id&quot; : &quot;123456789&quot; }, &quot;arrivingDate&quot; : &quot;03-09-2012&quot;, &quot;departureDate&quot; : &quot;03-15-2012&quot;, &quot;guestName&quot; : &quot;Fred&quot;, &quot;guestLastName&quot; : &quot;Davis&quot;, &quot;hotelID&quot; : &quot;03&quot;, &quot;room&quot; : &quot;1001&quot;, &quot;oceanView&quot; : &quot;true&quot;}}"/> 
<http:outbound-endpoint exchange-pattern="request-response" method="POST" address="ttp://localhost:8080/myapplication/createreservation" contentType="application/json" doc:name="HTTP"/> 
</flow> 

但是,如果你想JSON數據發佈到自己的騾子應用程序,那麼你只需要您的流量需要使用HTTP入站終點..而且你可以發佈任何數據Rest Client或Postman ..

The d ATA將自動通過其他客戶端或低於郵差應用程序進入你的騾流量: - enter image description here

0

它可以通過以下方式進行:

  1. 您可以創建具有相同的字段名稱POJO作爲JSON元素
  2. 創建對象的實例並輸入您的JSON輸入。
  3. 然後使用Mule的對象來指定帶POJO類的源類的JSON轉換器。
  4. 使用HTTP出站端點調用相應的雙向HTTP應用程序。
  5. 收到響應後,將JSON添加到Object變換器並使用它進一步處理。