Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="UTF-8"?>
- <mule xmlns:wsc="http://www.mulesoft.org/schema/mule/wsc" xmlns:american-flights-api="http://www.mulesoft.org/schema/mule/american-flights-api"
- xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core"
- xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
- http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
- http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
- http://www.mulesoft.org/schema/mule/american-flights-api http://www.mulesoft.org/schema/mule/american-flights-api/current/mule-american-flights-api.xsd
- http://www.mulesoft.org/schema/mule/wsc http://www.mulesoft.org/schema/mule/wsc/current/mule-wsc.xsd">
- <sub-flow name="setDestination" doc:id="ecd9ee5a-62be-41a0-9fc2-73127c8ae213" >
- <set-variable value='#[attributes.queryParams.code default "SFO"]' doc:name="Set destination" doc:id="830cbb91-07d9-4844-8de8-206bd16650ec" variableName="destination" />
- </sub-flow>
- <flow name="getDeltaFlightsFlow" doc:id="fcce2eeb-b56b-40d9-83f5-26f63541527d" >
- <http:listener doc:name="GET /delta" doc:id="2ee44b84-63f2-43d6-bbf4-4bdc851e3727" config-ref="mua-flights-api-httpListenerConfig" path="/delta" allowedMethods="GET"/>
- <flow-ref doc:name="set Destination" doc:id="9a855835-e0c2-42b0-bba1-a956f99f4c72" name="setDestination" />
- <ee:transform doc:name="Map destination" doc:id="432278e6-236d-46a3-a0b9-88c591d27a92" >
- <ee:message >
- <ee:set-payload ><![CDATA[%dw 2.0
- output application/xml
- ns ns0 http://soap.training.mulesoft.com/
- ---
- {
- ns0#findFlight: {
- destination: vars.destination
- }
- }]]></ee:set-payload>
- </ee:message>
- </ee:transform>
- <wsc:consume doc:name="Delta SOAP Request" doc:id="c9665439-6a9f-4f96-8249-725d6b2afe8d" config-ref="Web_Service_Consumer_Config" operation="findFlight"/>
- <ee:transform doc:name="Map to Output JSON" doc:id="f1e0137a-9223-433d-b13f-c9b7e9d71244" >
- <ee:message >
- <ee:set-payload ><![CDATA[%dw 2.0
- output application/json
- ns ns0 http://soap.training.mulesoft.com/
- ---
- payload.body.ns0#findFlightResponse.*return map ( return , indexOfReturn ) -> {
- airline: return.airlineName default "",
- flightCode: return.code default "",
- fromAirportCode: return.origin default "",
- toAirportCode: return.destination default "",
- departureDate: return.departureDate default "",
- emptySeats: return.emptySeats default 0,
- price: return.price default 0,
- planeType: return.planeType default ""
- }]]></ee:set-payload>
- </ee:message>
- </ee:transform>
- <logger level="INFO" doc:name="Logger" doc:id="3978cc0c-47ed-4e07-93e2-925328bd3ff0" />
- </flow>
- <flow name="getAmericanFlightsFlow" doc:id="646a2a2d-0594-4f84-b1cb-896a2300a239" >
- <http:listener doc:name="GET /american" doc:id="1286898a-545d-4803-9cce-d0117be92a09" config-ref="mua-flights-api-httpListenerConfig" path="/american" allowedMethods="GET"/>
- <flow-ref doc:name="set Destination" doc:id="ee47b7d1-b4bf-47b9-82ff-49d415ab12d7" name="setDestination"/>
- <american-flights-api:get-all-flights doc:name="Get all flights" doc:id="8a392847-2189-472c-ab51-15350221c5ad" config-ref="American_Flights_API_Config" destination="#[vars.destination]"/>
- <ee:transform doc:name="Transform Message" doc:id="ce6a7709-4306-436d-94b8-ee3afa42fbe0" >
- <ee:message >
- <ee:set-payload ><![CDATA[%dw 2.0
- output application/json
- ---
- payload map ( payload01 , indexOfPayload01 ) -> {
- airline: "American",
- flightCode: payload01.code default "",
- fromAirportCode: payload01.origin default "",
- toAirportCode: payload01.destination default "",
- departureDate: payload01.departureDate default "",
- emptySeats: payload01.emptySeats default 0,
- totalSeats: payload01.plane.totalSeats default 0,
- price: payload01.price default 0,
- planeType: payload01.plane."type" default ""
- }]]></ee:set-payload>
- </ee:message>
- </ee:transform>
- <logger level="INFO" doc:name="Logger" doc:id="3c047554-ae83-40fc-ae62-9575e8c0307a" />
- </flow>
- <flow name="getUnitedFlightsFlow" doc:id="f1b59c5b-162d-4b5e-bc1a-3d4793eaf4ee">
- <http:listener doc:name="GET /united" doc:id="a8fde4bf-0dc7-42ab-bf99-6b799f4e663a" config-ref="mua-flights-api-httpListenerConfig" path="/united" allowedMethods="GET" />
- <flow-ref doc:name="set Destination" doc:id="df61eabd-19b4-47b3-ab7e-d0d7294ff4f5" name="setDestination"/>
- <http:request method="GET" doc:name="GET United REST Request" doc:id="672c4abd-4ec8-4b0d-93ec-a631725f1b65" config-ref="United_REST_Request_configuration" path="/united/flights/{AC}" >
- <http:uri-params ><![CDATA[#[output application/java
- ---
- {
- "AC" : vars.destination
- }]]]></http:uri-params>
- </http:request>
- <ee:transform doc:name="Transform Message" doc:id="5f901762-4f22-411b-8028-d83821280108">
- <ee:message>
- <ee:set-payload><![CDATA[%dw 2.0
- output application/json
- ---
- payload.flights map ( flight , indexOfFlight ) -> {
- airline: flight.airlineName,
- flightCode: flight.code,
- fromAirportCode: flight.origin,
- toAirportCode: flight.destination,
- departureDate: flight.departureDate,
- emptySeats: flight.emptySeats,
- price: flight.price,
- planeType: flight.planeType
- }]]></ee:set-payload>
- </ee:message>
- </ee:transform>
- <logger level="INFO" doc:name="Logger" doc:id="e8b180ff-3f36-48b5-bbae-b1acc4877a74" />
- </flow>
- </mule>
Advertisement
Add Comment
Please, Sign In to add comment