1

Below xpath expression looks for AccountNo element anywhere in whole xml document. #[xpath3('//AccountNo').text]

I am after similar expression to get AccountNo from a json request if present anywhere.

Below are example xml request containing AccountNo.

    <Account>
   <AccountName>John</AccountName>
   <AccountNo>4234324</AccountNo>
</Account>

<Order>
<OrderId>34234242</OrderId>
<ServiceOrder>
    <AccountNo>231232</AccountNo>
    <ServiceOrderId>54654698787</ServiceOrderId>
</ServiceOrder>
<ServiceOrder>
    <AccountNo>231232</AccountNo>
    <ServiceOrderId>78979879797</ServiceOrderId>
</ServiceOrder>
</Order>

Thanks in advance for any help.

user3366906
  • 149
  • 2
  • 11

2 Answers2

0

To get the value from a JSON payload element in Mule flow you first need to convert the json payload to object as below.

<json:json-to-object-transformer returnClass="java.lang.Object" doc:name="JSON to Object"/>

Then fetch the json payload element as below. In below code I am fetching the value of RecordId from json payload.

<set-variable variableName="RecordID" value="#[payload.DocProcessingMessage.UploadEfnolDocument.RecordId]" doc:name="Variable_RecordID"/>

Once you are done, Convert the payload back to JSON for further processing.

  <json:object-to-json-transformer doc:name="Object to JSON"/>
0

First convert xml payload to Json then process the payload using transformer

<json:xml-to-json-transformer doc:name="XML to JSON" mimeType="application/json"/>
<set-payload value="{ &quot;AccountNo&quot;: &quot;#[json:Account:AccountNo]&quot;}" mimeType="application/json" doc:name="payload"/>
ManojP
  • 6,113
  • 2
  • 37
  • 49