Java TM1 API : need help
Posted: Thu Sep 20, 2018 3:30 pm
Hello,
I would like building a Java prototype, I aim sending MDX requests to data cubes.
I just joined this new project, I had never worked on Planning Analytics TM1 before. I installed PA on my computer, I reach SData server by using Architect. It perfectly works.
Look at tm1s.cfg :
[TM1S]
ServerLogging=F
SecurityPackageName=Kerberos
IntegratedSecurityMode=2
UseSSL=F
ServerName=SData
DataBaseDirectory=.
AdminHost=
PortNumber=12346
ClientMessagePortNumber=12398
Savetime=
Downtime=
LicenseMetricTime=
ProgressMessage=True
AuditLogOn=F
AuditLogMaxFileSize= 100 MB
AuditLogUpdateInterval=60
PersistentFeeders=F
ParallelInteraction=T
IPVersion=ipv4
ServerCAMIPVersion=ipv4
AllowSeparateNandCRules=T
ForceReevaluationOfFeedersForFedCellsOnDataChange=T
EnableNewHierarchyCreation=T
HTTPPortNumber=8010
EnableTIDebugging=T
Then I try accessing cubes, but I fail. Here's my sample Java code :
import com.applix.tm1.TM1Bean;
import com.applix.tm1.TM1Server;
public class TM1Try {
public static void main(String[] args) {
//String adminHostName = "VVD-TM1ANA.solano.alize";
String adminHostName = "localhost";
String serverName = "SData";
String userName = "admin";
String password = "apple";
TM1Bean aBean = new TM1Bean();
TM1Bean.setDebugMode(true);
aBean.setAdminHost(adminHostName);
TM1Server aServer = null;
try {
aServer = aBean.openConnection1001(serverName, userName, password);
System.out.println("Connected to: " + aServer.getName().getString());
} catch (Exception e) {
System.out.println("Could not connect to the server! : " + aServer.getErrorMessage() + " : Error Code: " + aServer.getErrorCode());
}
}
}
WHen executing, an exception occures :
TM1 Error-> Error creating socket - java.net.ConnectException: Connection refused: connect
java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:673)
at sun.security.ssl.SSLSocketImpl.<init>(SSLSocketImpl.java:432)
at sun.security.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:88)
at com.applix.tm1.TM1NetClass.ConnectToHost(TM1NetClass.java:264)
at com.applix.tm1.TM1NetClass.ConnectUsingIPv6(TM1NetClass.java:213)
at com.applix.tm1.TM1NetClass.Connect(TM1NetClass.java:179)
at com.applix.tm1.TM1Bean.getAdmEntryList(TM1Bean.java:544)
at com.applix.tm1.TM1Bean.getNumberOfServers(TM1Bean.java:374)
at com.applix.tm1.TM1Bean.findEntryByServerName(TM1Bean.java:634)
at com.applix.tm1.TM1Bean.openConnection1001(TM1Bean.java:311)
at ca_essai2.TM1Try.main(TM1Try.java:22)
Exception in thread "main" java.lang.NullPointerException
at ca_essai2.TM1Try.main(TM1Try.java:25)
I don't understand what's happening. Did I forget setting a port ? Everything else ?
Hence I'm looking for some help and I thank anyone bringing me a hand.
Hope someone will answer soon. I'm stumped...
I would like building a Java prototype, I aim sending MDX requests to data cubes.
I just joined this new project, I had never worked on Planning Analytics TM1 before. I installed PA on my computer, I reach SData server by using Architect. It perfectly works.
Look at tm1s.cfg :
[TM1S]
ServerLogging=F
SecurityPackageName=Kerberos
IntegratedSecurityMode=2
UseSSL=F
ServerName=SData
DataBaseDirectory=.
AdminHost=
PortNumber=12346
ClientMessagePortNumber=12398
Savetime=
Downtime=
LicenseMetricTime=
ProgressMessage=True
AuditLogOn=F
AuditLogMaxFileSize= 100 MB
AuditLogUpdateInterval=60
PersistentFeeders=F
ParallelInteraction=T
IPVersion=ipv4
ServerCAMIPVersion=ipv4
AllowSeparateNandCRules=T
ForceReevaluationOfFeedersForFedCellsOnDataChange=T
EnableNewHierarchyCreation=T
HTTPPortNumber=8010
EnableTIDebugging=T
Then I try accessing cubes, but I fail. Here's my sample Java code :
import com.applix.tm1.TM1Bean;
import com.applix.tm1.TM1Server;
public class TM1Try {
public static void main(String[] args) {
//String adminHostName = "VVD-TM1ANA.solano.alize";
String adminHostName = "localhost";
String serverName = "SData";
String userName = "admin";
String password = "apple";
TM1Bean aBean = new TM1Bean();
TM1Bean.setDebugMode(true);
aBean.setAdminHost(adminHostName);
TM1Server aServer = null;
try {
aServer = aBean.openConnection1001(serverName, userName, password);
System.out.println("Connected to: " + aServer.getName().getString());
} catch (Exception e) {
System.out.println("Could not connect to the server! : " + aServer.getErrorMessage() + " : Error Code: " + aServer.getErrorCode());
}
}
}
WHen executing, an exception occures :
TM1 Error-> Error creating socket - java.net.ConnectException: Connection refused: connect
java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:673)
at sun.security.ssl.SSLSocketImpl.<init>(SSLSocketImpl.java:432)
at sun.security.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:88)
at com.applix.tm1.TM1NetClass.ConnectToHost(TM1NetClass.java:264)
at com.applix.tm1.TM1NetClass.ConnectUsingIPv6(TM1NetClass.java:213)
at com.applix.tm1.TM1NetClass.Connect(TM1NetClass.java:179)
at com.applix.tm1.TM1Bean.getAdmEntryList(TM1Bean.java:544)
at com.applix.tm1.TM1Bean.getNumberOfServers(TM1Bean.java:374)
at com.applix.tm1.TM1Bean.findEntryByServerName(TM1Bean.java:634)
at com.applix.tm1.TM1Bean.openConnection1001(TM1Bean.java:311)
at ca_essai2.TM1Try.main(TM1Try.java:22)
Exception in thread "main" java.lang.NullPointerException
at ca_essai2.TM1Try.main(TM1Try.java:25)
I don't understand what's happening. Did I forget setting a port ? Everything else ?
Hence I'm looking for some help and I thank anyone bringing me a hand.
Hope someone will answer soon. I'm stumped...