Setelah banyak percobaan saya memutuskan untuk melewatkan data XML yang sama melalui reportData
tag dalam bentuk encode base64, jadi bentuk akhir dari permintaan SOAP terlihat seperti ini:
<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>
Solusi ini tidak sama persis dengan target awal tetapi memungkinkan saya untuk menghindari sumber data eksternal dalam kasus rendering dokumen sederhana.