Cognos Java API for TI missing jar

Post Reply
kjanssen
Posts: 17
Joined: Mon Jan 19, 2015 12:43 pm
OLAP Product: Cognos Express
Version: 10.2.2
Excel Version: 2010

Cognos Java API for TI missing jar

Post by kjanssen »

Hello together,

we want to mirgrate some of our more complex TI processes to Java but have some trouble...

We have Cognos Expess 10.2 + the SDK package.

Before installing the SDK package the TI did not even know about the ExecuteJavaN/S functions. after installing the sdk we are able to use these functions to call java (at least we tried ExecuteJavaS('test') and it tried to find the class 'test')

unfortunately we cannot yet start to migrate our processes as we can't find the requried javatiapi.jar as mentioned here in step 11. we already searched the whole c: drive for that file and also checked some other jars if they contain the package mentioned in the guide - no success.

can anyone help me to find/get this jar file for TI?


thanks in advance!
RJ!
Community Contributor
Posts: 219
Joined: Mon Jul 23, 2012 8:31 am
OLAP Product: TM1
Version: 10.2.2
Excel Version: 2010

Re: Cognos Java API for TI missing jar

Post by RJ! »

For our install its in these folders:
Program Files\ibm\cognos\tm1_64\bin\
Program Files\ibm\cognos\tm1_64\bin64\


Whether you can get to those folders will depending on the restrictions your IT department has set for you.
kjanssen
Posts: 17
Joined: Mon Jan 19, 2015 12:43 pm
OLAP Product: Cognos Express
Version: 10.2.2
Excel Version: 2010

Re: Cognos Java API for TI missing jar

Post by kjanssen »

Hello RJ!

thank you for your reply, but unfortunately the file is in none of theses folders.

could you upload the file somewhere for us?


Thanks.
RJ!
Community Contributor
Posts: 219
Joined: Mon Jul 23, 2012 8:31 am
OLAP Product: TM1
Version: 10.2.2
Excel Version: 2010

Re: Cognos Java API for TI missing jar

Post by RJ! »

Would if I could (IT policies are very restrictive here at my work).

Tried IBM support?
kjanssen
Posts: 17
Joined: Mon Jan 19, 2015 12:43 pm
OLAP Product: Cognos Express
Version: 10.2.2
Excel Version: 2010

Re: Cognos Java API for TI missing jar

Post by kjanssen »

My Boss called the support yesterday but they did not understand what he wanted...

They send them an email with "what to do" but they simply told him to download the SDK package what we already did. :(
RJ!
Community Contributor
Posts: 219
Joined: Mon Jul 23, 2012 8:31 am
OLAP Product: TM1
Version: 10.2.2
Excel Version: 2010

Re: Cognos Java API for TI missing jar

Post by RJ! »

Do you have a Dev server to reinstall TM1with all the options including Tomcat etc?
kjanssen
Posts: 17
Joined: Mon Jan 19, 2015 12:43 pm
OLAP Product: Cognos Express
Version: 10.2.2
Excel Version: 2010

Re: Cognos Java API for TI missing jar

Post by kjanssen »

this is our dev server as we have just started 2 month ago with cognos. according to my boss he installed the server with all available options.

also i don't think that in our base install this file is present as we only have Cognos Express and the TurboIntegrator was not even able to save a process when i tried to call on of the ExecuteJavaN/S functions as it did not know those functions. this was only possible after we installed the sdk package and now we can see in the log that it tries to call some java code.


e.g.
ExecuteJavaN('xxx') results in this log message:
5644 [d] INFO 2015-01-19 12:24:50.166 TM1.Server Invalid Class.Method name "xxx"
moby91
MVP
Posts: 227
Joined: Fri Mar 11, 2011 2:18 pm
OLAP Product: TM1
Version: 9.5.1
Excel Version: 2003 2007

Re: Cognos Java API for TI missing jar

Post by moby91 »

Version mismatch.


TM1 10.2.2 FP2 includes the JAR-files

Program Files\ibm\cognos\tm1_64\bin\javatiapi.jar
Program Files\ibm\cognos\tm1_64\bin64\javatiapi.jar

TM1 10.2.0 FP2 does not.


I assume the TM1 SDK you are using is the one released with TM1 10.2.2


Cognos Express is using a customized version of TM1, in case of Cognos Express 10.2.1 FP2 it is using a customized version of TM1 10.2.0 FP2 IF1, see the IBM Technote 4038542 =>

http://www-01.ibm.com/support/docview.w ... wg24038542
Cognos Express 10.2.1 Fix Pack 2


The question you should ask IBM Cognos Support:
Which release of Cognos Express includes TM1 10.2.2 or newer ?
Does the upcoming Cognos Express 10.2.1 FP3 include TM1 10.2.2 or newer ?


http://www-01.ibm.com/software/analytic ... edule.html
Business Analytics Fix Pack Schedule - Performance Management
Performance Management

Performance Management
Fix Pack Release Schedule Product --- Target Release Date
Cognos Express 10.2.1 FP3 --- January - March 2015
Cognos TM1 10.2.2 FP3 --- April - June 2015
Cognos Insight 10.2.2 FP3 --- April - June 2015
Cognos Analysis for Microsoft Excel 10.2.2 FP3 --- April - June 2015
kjanssen
Posts: 17
Joined: Mon Jan 19, 2015 12:43 pm
OLAP Product: Cognos Express
Version: 10.2.2
Excel Version: 2010

Re: Cognos Java API for TI missing jar

Post by kjanssen »

Hello moby91,

yeah. our contact at ibm just confirmed that. also there is currently no 10.2.2 Cognos Exopress. :(

but they send me the javatiapi.jar :)

As there are not that much guides/tutorials on using the java api for ti i'm not sure i'm doing something wrong or if it is not working due to wrong version.

i have created a }javaextensions\user folder inside my data directory and there i put my jar wiht an extension.xml

Code: Select all

<?xml version="1.0"?>
<extension>
  <id>cognos</id>
  <name>My Extension</name>
  <version>1.0.0.0</version>
  <scripts-package>cognos</scripts-package>
</extension>
and in the "TurboTest.class" in cognos/

Code: Select all

package cognos;

import com.ibm.cognos.tm1.javati.JavaTI;
import com.ibm.cognos.tm1.javati.TM1UserThread;
import com.ibm.cognos.tm1.javati.ti.TIFunctions;

@JavaTI
public final class TurboTest {

	private TurboTest() {
	}

	public static double TurboTest(String[] args) {
		TIFunctions ti = TM1UserThread.getTIFunctions();

		if (args.length < 1) {
			throw new IllegalArgumentException();
		}
		String dim = args[0];
		if (ti.DimensionExists(dim)) {
			ti.DimensionDeleteAllElements(dim);
		} else {
			ti.DimensionCreate(dim);
		}

		return 0;
	}
}
so it is:

Code: Select all

test.jar
|- extension.xml
\- cognos
   \- TurboTest.class

when i try to call ExecuteJavaN('cognos.TurboTest', 'hello_world'); i get

Code: Select all

5604   [3]   INFO    2015-01-21 12:53:56.644   TM1.Process   Process "Test" executed by user "Cognos Express\administrator"
5604   [3]   ERROR   2015-01-21 12:53:56.660   TM1.Server    Java Exception: java.lang.NoClassDefFoundError: cognos
5604   [3]   INFO    2015-01-21 12:53:56.660   TM1.Server    No class found with name "cognos"
BrianL
MVP
Posts: 264
Joined: Mon Nov 03, 2014 8:23 pm
OLAP Product: TM1
Version: 9.5.2 10.1 10.2 PA2
Excel Version: 2016

Re: Cognos Java API for TI missing jar

Post by BrianL »

I'm not really sure what's going on with your setup. The ExecuteJavaN and ExecuteJavaS TI functions don't exist prior to 10.2.2, which comes with the javatiapi.jar file. Something seems fishy here.

Do you have any other java related errors in your tm1server.log file? Try searching for "java".

javatiapi.jar should be in your bin directory. If it's not I'd expect you would see a log message like "TM1.Server JavaNativeServices::start() - couldn't find com/ibm/cognos/tm1/jos/Main class" during startup. This would also lead to the same errors your currently describing.
kjanssen
Posts: 17
Joined: Mon Jan 19, 2015 12:43 pm
OLAP Product: Cognos Express
Version: 10.2.2
Excel Version: 2010

Re: Cognos Java API for TI missing jar

Post by kjanssen »

Hello BrianL,

there are only two other messages about java in our log: (i searched for "java" and "jvm")

first: but that has gone after i added the jvm dll configuration

Code: Select all

3624   [c]   INFO   2015-01-19 12:12:38.931   TM1.Server    Could not run Java code, JVM not initialized
second:

Code: Select all

2476   []   INFO   2015-01-21 12:31:59.054   TM1.Server   Creating Java Virtual Machine with arguments:
2476   []   INFO   2015-01-21 12:31:59.054   TM1.Server   -Djava.class.path=java_classes
2476   []   INFO   2015-01-21 12:31:59.054   TM1.Server   
2476   []   INFO   2015-01-21 12:31:59.054   TM1.Server            end JVM args
David Usherwood
Site Admin
Posts: 1453
Joined: Wed May 28, 2008 9:09 am

Re: Cognos Java API for TI missing jar

Post by David Usherwood »

Errrr....
CX 10.2.1 doesn't support the Java Extensions, so....
they don't work properly
(I'm not surprised that you found bits of unfinished code for future features in the engine - IBM are no better or worse than other companies in this area).
It's interesting that IBM support are helping you to get it working - can't see why they should.
moby91
MVP
Posts: 227
Joined: Fri Mar 11, 2011 2:18 pm
OLAP Product: TM1
Version: 9.5.1
Excel Version: 2003 2007

Re: Cognos Java API for TI missing jar

Post by moby91 »

kjanssen wrote:but they send me the javatiapi.jar :)

i have created a }javaextensions\user folder inside my data directory and there i put my jar wiht an extension.xml
The javatiapi.jar files you got, are they from a TM1 10.2.2 installation ?
Or from a TM1 10.2.2 FP1 or newer installation ?

What TM1 version is specified in the file javatiap/META-INF/MANIFEST.MF ?
Is it lower as 10.2.20100.xyz ?

Where is your TM1 server configuration file tm1s.cfg ?
Is it in the TM1 database directory ?
Or is it somewhere else ?


There was a product defect in TM1 10.2.2 regarding the search path for the Java Extensions folder }javaextensions which was fixed in TM1 10.2.2 FP1, see the APAR PI24854=>

http://www-01.ibm.com/support/docview.w ... wg1PI24854
PI24854: JAVA EXTENSIONS FOLDER (}JAVAEXTENSIONS) SHOULD BE RELATIVE TO THE TM1 DATA DIRECTORY, NOT THE TM1 CONFIG DIRECTORY (TM1S.CFG)

APAR status
Closed as program error.

Error description
Currently the java extensions folder (}JavaExtensions) is relative to the TM1 Config Directory (tm1s.cfg). It should be relative to the TM1 Data Directory.

Problem conclusion
Code Fix

Problem summary
RECOMMENDATION:
Upgrade to TM1 10.2.2 FP1
kjanssen
Posts: 17
Joined: Mon Jan 19, 2015 12:43 pm
OLAP Product: Cognos Express
Version: 10.2.2
Excel Version: 2010

Re: Cognos Java API for TI missing jar

Post by kjanssen »

moby91 wrote: The javatiapi.jar files you got, are they from a TM1 10.2.2 installation ?
Or from a TM1 10.2.2 FP1 or newer installation ?
sorry i don't know. they did not mention from which version it is.
moby91 wrote:
What TM1 version is specified in the file javatiap/META-INF/MANIFEST.MF ?
Is it lower as 10.2.20100.xyz ?

Implementation-Version: 10.2.20003.50191

moby91 wrote: Where is your TM1 server configuration file tm1s.cfg ?
Is it in the TM1 database directory ?
Or is it somewhere else ?
tm1s.cfg is in my database directory (if that is the one where the pro/dim/cub/etc files are)
in the same direcotry i put my }javaextensions folder.
kjanssen
Posts: 17
Joined: Mon Jan 19, 2015 12:43 pm
OLAP Product: Cognos Express
Version: 10.2.2
Excel Version: 2010

Re: Cognos Java API for TI missing jar

Post by kjanssen »

I just opened a RFE.

In case one wants to support me and/or the RFE in general. Please vote https://www.ibm.com/developerworks/rfe/ ... R_ID=65280

Thanks a lot :-)
Post Reply