Hello,
I'm using the Java SDK to schedule a Crystal Report and download the binary result file with the following steps:
1) Logon to the server using a com.crystaldecisions.sdk.framework.ISessionMgr
2) Get a handle (com.crystaldecisions.sdk.occa.infostore.IInfoObject) of the report document, using the info store (com.crystaldecisions.sdk.occa.infostore.IInfoStore)
3) Using this handle, get a com.crystaldecisions.sdk.plugin.desktop.common.IReportProcessingInfo by calling getPluginProcessingInterface("CrystalReport")
4) Fill the prompts on this IReportProcessingInfo with user's values.
5) Schedule the report for immediate execution and get the instance ID via property SI_NEW_JOB_ID. Poll for the execution to reach a final state (COMPLETE or FAILURE), using the info store.
6) Upon successful completion, get an IInfoObject handle of the new instance from the info store.
7) By calling getFiles() on the instance handle, get a remote file handle (com.crystaldecisions.sdk.occa.infostore.IRemoteFile) and then a streaming download file (com.crystaldecisions.sdk.occa.infostore.IStreamingDownloadFile).
8) Open the IStreamingDownloadFile, download it in chunks and finally close it.
9) Logoff from the session
This workflow worked fine in BO XI 3.1, but it fails in step 8 on BO XI 4.1 (SP5, Patch 2). I have replaced the 3.1 JARs with the ones from 4.1, but the error is the same. I get an exception on the call to IStreamingDownloadFile.openFile() with the following error text:
com.crystaldecisions.sdk.exception.SDKServerException: The error message is unknown. This is likely caused by version inconsistencies between components.
Here is the value that caused the problem: 65314 and the additional information: .
cause:com.crystaldecisions.enterprise.ocaframework.idl.OCA.oca_abuse: IDL:img.seagatesoftware.com/OCA/oca_abuse:3.2
detail:The error message is unknown. This is likely caused by version inconsistencies between components.
Here is the value that caused the problem: 65314 and the additional information: .
The server supplied the following details: OCA_Abuse exception 6408 at [.\authrequest.cpp : 128] 65314 {}
...No logon token has been provided for authentication!
Any idea what is going wrong here? At the moment of calling IStreamingDownloadFile.openFile() the session opened in step 1 is still active and valid and I did not find any information on how to provide an authentication token to the openFile() call.
I also tried to download the binary file from the history of a WebI report, but this results in the same exception.
Thanks for any help or hints! Best regards,
Joerg