I’m trying to retrieve data from a webservice using the BIRT data source. The data that the server gives me as response looks something like this:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:kpi="http_adress">
<soap:Header/>
<soap:Body>
<kpi:someMethod>
<!--Optional:-->
<SomeList>
<!--Zero or more repetitions:-->
<SomeVariable oid="R2D2" versionNr="1.0">
<!--Optional:-->
<Variable1>10</Variable1>
<!--Optional:-->
<Variable2>Value</Variable2>
</SomeVariable >
</SomeList>
</kpi:someMethod>
</soap:Body>
</soap:Envelope>
My problem is that the data sets in BIRT only go 3 levels deep. It basically tells me to select the line as a data row.
How do I get those Variable1 and Variable2 in the Data Set?
I couldn’t solve this using the row mapping, since the webservices contained complex datastructures, so I just used a scripted data source instead, and first loaded the data from the webservice in java objects (using axis2) before loading them in the reports.