In this Blog , I will Show you how to call a BIP report using run report service.
To Call a report .. you need a WSDL..
Sample Payload :
Operation : Run Report
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:pub="http://xmlns.oracle.com/oxp/service/PublicReportService">
<soapenv:Header/>
<soapenv:Body>
<pub:runReport>
<pub:reportRequest>
<pub:parameterNameValues>
<!--Zero or more repetitions:-->
<pub:item>
<pub:name>p_vendor_name</pub:name>
<pub:values>
<!--Zero or more repetitions:-->
<pub:item>Epson Printers</pub:item>
</pub:values>
</pub:item>
</pub:parameterNameValues>
<!--<pub:attributeLocale>en-US</pub:attributeLocale>
<pub:attributeTemplate>Simple</pub:attributeTemplate>-->
<pub:reportAbsolutePath>/Custom/Financials/Payables/xx Invoice Spend Report.xdo</pub:reportAbsolutePath>
</pub:reportRequest>
<pub:userID>test.user2</pub:userID>
<pub:password>******</pub:password>
</pub:runReport>
</soapenv:Body>
</soapenv:Envelope>
In the Above Payload , The red Represents the report Parameters , The Blue represents the Report Path and Instance Credentials.
Response :
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<runReportResponse xmlns="http://xmlns.oracle.com/oxp/service/PublicReportService">
<runReportReturn>
<reportBytes>77u/UF9WRU5ET1JfTkFNRSxWRU5ET1JfTkFNRSxTRUdNRU5UMSxWRU5ET1JfU0lURV9DT0RFLENPVU5UX0lOVk9JQ0VTLENPVU5UX1BBSURfSU5WCiJFcHNvbiBQcmludGVycyIsIkVwc29uIFByaW50ZXJzIiwxMDAwMDAxMiwiU2hpcHBpbmcgU3RvcmUiLDAsMAo=</reportBytes>
<reportContentType>text/plain;charset=UTF-8</reportContentType>
</runReportReturn>
</runReportResponse>
</soapenv:Body>
</soapenv:Envelope>
The Blue Highlited data is your Encoded report output .
To Decode this you either need a Java library or for testing you can use a website utility like https://www.base64decode.org/.
Hope this Helps . Happy learning
Comments