mule http发布json数据通过httpendpoint

时间:2015-04-02 18:09:33

标签: mule mule-component

使用mule - 如何发布json数据以调用我的应用程序网址并得到回复。我有以下json数据:

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

    }
}

我想通过http://localhost:8080/myapplication/createreservation将我的json数据发布到我的应用程序MULE HTTP ENDPOINT并获得一些应用程序响应。欢迎任何建议。

2 个答案:

答案 0 :(得分: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数据发布到你自己的Mule应用程序中,那么你只需要你的流来获得Http入站端点..你可以从任何Rest Client或Postman发布数据。

数据将自动通过其他客户端或Postman应用程序进入您的Mule流程,如下所示: - enter image description here

答案 1 :(得分:0)

可以通过以下方式完成:

  1. 您可以使用与JSON元素相同的字段名称创建POJO
  2. 创建对象的实例并输入您的JSON输入。
  3. 然后使用Mule的Object to JSON转换器,使用POJO类指定源类。
  4. 使用HTTP Outbound endpoint调用相应的双向HTTP应用程序。
  5. 收到响应后,将JSON添加到Object转换器并使用它进一步处理。