sql >> Databáze >  >> RDS >> Oracle

Volejte webovou službu BI Publisher pomocí ReportRawData

Po spoustě experimentů jsem se rozhodl předat stejná XML data přes reportData tag ve formě zakódované v base64, takže finální podoba požadavku SOAP vypadá takto:

<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:attributeFormat>html</pub:attributeFormat>
            <pub:attributeTemplate>claimnotification_xml</pub:attributeTemplate>
            <pub:byPassCache>True</pub:byPassCache>
            <pub:dynamicDataSource>
               <pub:fileDataSource>
                  <pub:dynamicDataSourcePath/>
                  <pub:temporaryDataSource>True</pub:temporaryDataSource>
               </pub:fileDataSource>
            </pub:dynamicDataSource>
            <pub:parameterNameValues/>
            <pub:reportAbsolutePath>/a_test/test_xml_report.xdo</pub:reportAbsolutePath>
            <pub:sizeOfDataChunkDownload>-1</pub:sizeOfDataChunkDownload>
         </pub:reportRequest>
         <pub:saveDataOption>False</pub:saveDataOption>
         <pub:reportData>PD94bWwgdmVyc21vbj0iMS4wIiB1bmNvZG1uZz0iVVRGLTgiPz48dGVzdD48ZmllbGRfdmFsPkItQi1CLUItQjwvZmllbGRfdmFsPjwvdGVzdD4=</pub:reportData>
         <pub:userID>weblogic_user</pub:userID>
         <pub:password>weblogic_user_password</pub:password>
      </pub:runReport>
   </soapenv:Body>
</soapenv:Envelope>

Toto řešení se přesně neshodovalo s původním cílem, ale umožňuje mi vyhnout se externím zdrojům dat v případě vykreslování jednoduchých dokumentů.



  1. nalezení MAX(db_timestamp) dotazu

  2. Dotaz MySQL pro zjištění váhy hran v grafu

  3. Zámek a transakce v postgresu, které by měly zablokovat dotaz

  4. Proč příkaz 'explain' přináší různé výsledky na stejném příkazu SQL?