Да, вам нужно написать преобразование переплетения данных, чтобы преобразовать XML в Java. Я предоставляю пример потока, вам нужно написать аналогичный код преобразования.
<flow name="getDeltaFlightsFlow">
<http:listener config-ref="HTTP_Listener_Configuration" path="/delta" allowedMethods="GET" doc:name="HTTP"/>
<dw:transform-message doc:name="Transform Message">
<dw:set-payload><![CDATA[%dw 1.0
%output application/xml
%namespace ns0 http://soap.training.mulesoft.com/
---
{
ns0#findFlight: {
destination: flowVars.code as :string
}
}]]></dw:set-payload>
</dw:transform-message>
<ws:consumer config-ref="Delta_Service_Consumer" operation="findFlight" doc:name="Delta SOAP Reqst"/>
<dw:transform-message metadata:id="fdbaa716-f263-4812-a153-6509b7407ee8" doc:name="Transform Message">
<dw:set-payload><![CDATA[%dw 1.0
%output application/java
%namespace ns0 http://soap.training.mulesoft.com/
---
{
flights: payload.ns0#findFlightResponse.*return map ((return , indexOfReturn) -> {
airlineName: return.airlineName,
price: return.price,
departureDate: return.departureDate,
planeType: return.planeType,
origin: return.origin,
code: return.code,
emptySeats: return.emptySeats,
destination: return.destination
})
}]]></dw:set-payload>
</dw:transform-message>
<logger level="INFO" doc:name="Logger"/>
</flow>