Skip to main content

In the week 4 walkthrough of using datamapper to pass argument "code" to SOAP WS "getDeltaFlightsFlow", not matter what query string "code" value I passed in browser, the payload is still showing "SFO". Below is the Flow XML. What I might be missing here?

Thank you

 

<flow name="getDeltaFlightsFlow">

<http:listener config-ref="HTTP_Listener_Configuration" path="/delta" allowedMethods="GET" doc:name="HTTP"/>

<set-variable variableName="destination" value="#&nbsp;[(message.inboundProperties.'http.query.params'.code==empty) ? 'SFO' : message.inboundProperties.'http.query.params'.code]" doc:name="Set Destination"/>

<data-mapper:transform config-ref="String_To_Xml_findFlight_" input-ref="#&nbsp;[message.inboundProperties["http.method"]]" doc:name="String To Xml<findFlight>">

<data-mapper:input-arguments>

<data-mapper:input-argument key="destination">SFO</data-mapper:input-argument>

</data-mapper:input-arguments>

</data-mapper:transform>

<ws:consumer config-ref="Delta_Web_Service_Consumer" operation="findFlight" doc:name="Web Service Consumer"/>

<mulexml:jaxb-xml-to-object-transformer returnClass="com.mulesoft.training.FlightArray" jaxbContext-ref="JAXB_Context" doc:name="XML to JAXB Object"/>

<set-payload value="#&nbsp;[payload.flights]" doc:name="Set Payload to Flights"/>

<logger level="INFO" doc:name="Logger"/>

</flow>

10 answers
  1. Oct 16, 2015, 12:12 PM

    Select the dataMapper

    Double click on the input argument destination

    replace Mule expression: "FLO" by # [flowVars.destination]

     

    Now the mapper will use the variable destination as input

0/9000