Mule http post json данные через httpendpoint

Использование mule - как опубликовать json данные, чтобы вызвать URL-адрес моего приложения и получить ответ. У меня есть данные json, как показано ниже:

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

    }
}

Я хочу опубликовать свои данные json в своем приложении с http://localhost:8080/myapplication/createreservation по MULE HTTP ENDPOINT и получить ответ приложения. Любые предложения приветствуются.


person muledevlepoer07    schedule 02.04.2015    source источник


Ответы (2)


Первое, что я хотел бы сказать, это то, что ваши данные 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..

Данные автоматически попадут в ваш поток Mule через оставшийся клиент или приложение Postman, как показано ниже: - введите описание изображения здесь

person Anirban Sen Chowdhary    schedule 02.04.2015

Это можно сделать следующим образом:

  1. Вы можете создать POJO с именами полей, такими же, как элементы JSON.
  2. Создайте экземпляр объекта и введите ввод JSON.
  3. Затем используйте преобразователь объекта Mule в JSON, указав исходный класс с классом POJO.
  4. Вызовите соответствующее двустороннее HTTP-приложение, используя исходящую конечную точку HTTP.
  5. После получения ответа добавьте преобразователь JSON в Object и используйте его для дальнейшей обработки.
person user3238151    schedule 14.04.2015