cancel
Showing results for 
Search instead for 
Did you mean: 

BI4 SDK - required jars for ReportEngine api

former_member190457
Contributor
0 Kudos

Hi all,

I am developing an application to be executed as a program file within the BI4 scheduler.

My class implements the IProgramBase interface, but I get an error when invoking

ReportEngines srcRepEngList = (ReportEngines) sourceSession.getService("ReportEngines");

the error is:

SDKException$ServiceNotFound: The service ReportEngines could not be found on the client side

Please note that the exact same code works ok on a web application (WAR).

I've found out that this error happens when there are missing entries in the program classpath.

I've tried to add all the jars from the BOE lib folder, but I get an error as they are duplicates of those already in the scheduler default classpath.

Can anyone please help me finding out the required jars for ReportEngines service?

Thanks regards

Vincenzo

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi Vincenzo,


The error you are facing is because your Program Object is not able to find the required jar files at runtime. However, since you have provided the jars in your WEB APP classpath it works. In BI 3.1 the jars required for scheduling a Program Object were internally mapped. Since a major chunk of REBEAN SDK's has been deprecated in BI 4.0, the classpath should be manually set while scheduling a Program Object.


Please go through the below SAP Note:

1934139 - Exception caught while running program. Reason: [com.crystaldecisions.sdk.exception.SDKException$ServiceNotFound: The service ReportEngines could not be found on the client side]. while scheduling a Program Object in Business Objects 4.0.

Hope this helps.

Regards,
Rajarsh

https://i7p.wdf.sap.corp/sap/support/notes/1934139

0 Kudos

Thanks Rajash,

Could you please be more specific on setting the path manually?  Also the link you provide is not working.

Regards,

Waleed

Former Member
0 Kudos

Hi Waleed,

By setting the classpath manually I meant you will have to set the classpath in Program Object properties in CMC.

You will have to set the classpath of the below jars in your PO classpath in CMC:

biplugins.jar

cdz_cluster_mgmt_types_idl.jar

cdzidl.jarCTPlugin_idl.jar

cvom.jarcvom_chart_lib.jar

cvom_chart_lib_en.jar

cvom_en.jar

cvom_ui_helpers.jar

dsl_engine.jar

dsl_sdk_commands.jar

dsl_sdk_requests.jar

dsl_sdk_server.jar

dsl_sdk_services.jar

GenericContainer_idl.jar

GenericContainer_proxy.jar

guice-1.0.jar

ie_proxies.jar

IEPlugin_idl.jar

inproc_container.jar

org.eclipse.emf.common_2.4.0.v200902171115.jar

org.eclipse.emf.ecore.xmi_2.4.1.v200902171115.jar

org.eclipse.emf.ecore_2.4.2.v200902171115.jar

org.eclipse.equinox.common_3.4.0.v20080421-2006.jar

org.eclipse.equinox.registry_3.4.0.v20080516-0950.jar

org.eclipse.osgi_3.4.3.R34x_v20081215-1030.jar

protobuf.jar

rebean.common.jar

rebean.wi.adapter.jar

rebean.wi.jar

rebean.wi.model.jar

rebean.wi.server.commands.jar

rebean.wi.server.jar

rebean.wi.server.requests.jar

rom.jar

sdk.core.jar

sdk.core.server.common.jar

sdk.core.server.corba.jar

sdk.core.server.jar

sdk.core.session.cms.jar

sdk.core.session.jar

webi_proxies.jar

xpp3.jar

SL_Plugins.jar

commons-codec-1.3.jar

json.jar

Hope this helps.

Regards,

Rajarsh

0 Kudos

Many Thanks Rajash,

I was not able to find the following Jar files:

cdzidl.jarCTPlugin_idl.jar

cvom.jarcvom_chart_lib.jar

Search both the BOE.war and Program Files (x86)\SAP BusinessObjects but I was not able to find it.

I was able to pass this:

ReportEngines reportEngines = (ReportEngines) enterpriseSession.getService("ReportEngines");

But this failed:

ReportEngine reportEngine = reportEngines.getService(ReportEngines.ReportEngineType.WI_REPORT_ENGINE);

I was getting:

Error 500: com.businessobjects.rebean.wi.CommunicationException: Unable to instantiate ReportEngine.

My assumption is I am missing one of the jars.  If you could help I would appreciate it.

Thanks in Adv.

Waleed

Former Member
0 Kudos

Hi Waleed,

They are four different jars:

- cdzidl.jar

- CTPlugin_idl.jar

- cvom.jar

- cvom_chart_lib.jar

Perform a search in Program Files (x86)\SAP BusinessObjects and you should find them.

Regards,

Rajarsh

0 Kudos

Thank you Rajarsh,

I was out of office for few days...

I added all the jar files you mentioned and I can't do the following:

ReportEngines reportEngines = (ReportEngines) enterpriseSession.getService("ReportEngines");

ReportEngine reportEngine = reportEngines.getService(ReportEngines.ReportEngineType.WI_REPORT_ENGINE);

ReportEngine fails to run... I get the following message:

Error 500: com.businessobjects.rebean.wi.CommunicationException: Unable to instantiate ReportEngine.

I attached the file that I am working on... If you could help I would really appreciate it. 

Regards,

Waleed

Former Member
0 Kudos

Hi Waleed,

What are you trying to do?

Are you using a Web Application or a Program Object? Looking at your jsp it seems you are using a Web App, however this thread is for Program Object.

If you can create a new thread with all relevant information I might be able to look into this.

Regards,

Rajarsh

0 Kudos

Yes, I am using Customized Web App.

The requirement is to load the Webi Report filters (Prompts) from CSV file.

The Issue is:

The opendoc pass values trough URL and the maximum character we can pass via IE11 URL 2083 char.  (I developed this on BO XI).  I see the APIs on BI 4.x but when I compile the code it is not working.

Solution is:

Pass values via session

The files I attached last time should read the filter values from session and will do:

Open the report

Check for the prompts Fill the prompts from session (URL max length is out of picture)

Refresh the report

Save the report

ReportEngines reportEngines = (ReportEngines) enterpriseSession.getService("ReportEngines");

ReportEngine reportEngine = reportEngines.getService(ReportEngines.ReportEngineType.WI_REPORT_ENGINE);

DocumentInstance reDocInst = (DocumentInstance) reportEngine.openDocument(webiDoc.getID());


But, the code fails to initialize:

ReportEngine reportEngine = reportEngines.getService(ReportEngines.ReportEngineType.WI_REPORT_ENGINE);

Is ReportEngine available?  If you could please help me to get around this I really-really appreciate it.

Thanks,

Waleed

0 Kudos

Rajarsh,

Any input on this issue?

Thanks!!!

Former Member
0 Kudos

Hi Vencenzo,

Have you check this SAP help zip file out?

http://help.sap.com/businessobject/product_guides/boexir4/en/xi4_boejava_dg_en.zip

Once downloaded and extracted, just browse to page topic86.html.

Hope this helps,

Anirut W.

former_member190457
Contributor
0 Kudos

Hi Anirut,

thanks for your kind help, I have placed the jars listed for the BIP into the jar file, and updated the manifest file.

However the error still stays the same.

I have added all the jars listed both as Core and Dependent for BIP administration.

Additionally I have added also the rebean jars, but to no use.

Any idea?

Thanks and regards

Vincenzo

0 Kudos


Anirunt,

I have the same issue... I went over developer guide for Report Engine SDK and it is clearly indicating that ReportEngines SKD is available.  Unfortunately I am not able to resolve the same issue:

ReportEngines repEngines = (ReportEngines)enterpriseSession.getService("ReportEngines");

Vincenzo,

Have you find a solution to this bug?

This is what we have on the BI4.x API:

Example: Create a ReportEngine instance to work on Web Intelligence documents.

ISessionMgr sessionMgr = CrystalEnterprise.getSessionMgr();

IEnterpriseSession entSession = sessionMgr.logon(userID, password, CMS, auth);

if (entSession != null) {   

     ILogonTokenMgr loginTokenManager = entSession.getLogonTokenMgr();   

     String token = loginTokenManager.getDefaultToken();    

     ReportEngines repEngines = (ReportEngines)enterpriseSession.getService("ReportEngines");    

     ReportEngine wiRepEngine = repEngines.getService(ReportEngines.ReportEngineType.WI_REPORT_ENGINE);   

}

This is missing and it is not working:

ReportEngines repEngines = (ReportEngines)enterpriseSession.getService("ReportEngines");

If you have any solution to this please us know.

Thanks,

Waleed

Former Member
0 Kudos

Hi Vincenzo,

SAP has not released any such list of jar files relevant to Report Engine SDK.

The recommended approach mentioned in the developer guide for Report Engine SDK is as mentioned below:

 

Navigate to <BOBJ_INST_DIR>\SAP BusinessObjects\SAP BusinessObjects EnterpriseXI 4.0\java\lib directory, select all the jars.

I know it is not an appropriate way to handle your application's runtimes as it will make your application more bulky but it is the only available & recommended option developers has got.

For your reference, you can download the Report Engine SDK developer guide for SP04 release here.

Refer to the section '5.1.2.2 Adding Rebean jars to the project' in the developers guide stating the above fact.

Regards,

Anchal