2015-04-02 79 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变换器并使用它进一步处理。