public interface

IDSSXMLServerSession

com.microstrategy.webapi.IDSSXMLServerSession

Class Overview

This is the interface for the ServerSession object. This object is used to acquire a session to the Intelligence Server, check privileges, get project lists, and obtain other Web API objects (ReportServer, ObjectServer, ElementServer, DocumentServer).

Summary

Constants
int DEFAULT_CloseSession_sessionFlags Default value for the sessionFlags parameter of the CloseSession method
int DEFAULT_CreateSession_authMode Default value for the authMode parameter of the CreateSession method
String DEFAULT_CreateSession_clientID Default value for the clientID parameter of the CreateSession method
int DEFAULT_CreateSession_locale Default value for the locale parameter of the CreateSession method
String DEFAULT_CreateSession_login Default value for the login parameter of the CreateSession method
String DEFAULT_CreateSession_newPasswd Default value for the newPasswd parameter of the CreateSession method
String DEFAULT_CreateSession_passwd Default value for the passwd parameter of the CreateSession method
String DEFAULT_CreateSession_projectName Default value for the projectName parameter of the CreateSession method
int DEFAULT_CreateSession_sessionFlags Default value for the sessionFlags parameter of the CreateSession method
int DEFAULT_GetProjects_flags Default value for the flags parameter of the GetProjects method
int DEFAULT_putRegularWorkingSetSize_regularWorkingSetSize Default value for the regularWorkingSetSize parameter of the putRegularWorkingSetSize method
int DEFAULT_putSearchWorkingSetSize_searchWorkingSetSize Default value for the searchWorkingSetSize parameter of the putSearchWorkingSetSize method
Public Methods
abstract void ChangePassword(String sessionID, String oldPassword, String newPassword)
Changes the user's password.
abstract boolean CheckVersion(StringWrapper swXMLAPIVersion, StringWrapper swServerVersion)
Used to check the version of both the Web API and the Server, and see whether they are guaranteed compatible with each other.
abstract void CloseSession(String sessionID, int sessionFlags)
Closes a session, freeing up resources in the Intelligence Server.
abstract void CreateProject(String sessionId, String name, String scriptPath, Locale primaryLocale, Locale[] supportedLocales)
Adds a project to the current IServer
abstract void CreateProject(String sessionId, String name, String scriptPath, Locale primaryLocale, Locale[] supportedLocales, int flag)
Adds a project to the current IServer
abstract String CreateSession(String login, String password, String newPasswd, String projectName, int locale, String client, int authMode, int sessionFlags, String extraParams, String confSessionID)
This method is used for Intelligence Server session creation.
abstract String CreateSession(String login, String password, String newPasswd, String projectName, int locale, String clientID, int authMode, int sessionFlags)
Creates a session in the Intelligence Server.
abstract String CreateSession(String login, String password, String newPasswd, String projectName, int locale, String clientID, int authMode, int sessionFlags, String extraParams)
abstract String CreateSessionEx(String login, String password, String newPasswd, String projectDSSID, StringWrapper regionalOptions, boolean resolveRegionalOptionsOnly, String clientID, String clientVersion, int authMode, int sessionFlags, String extraParams, String accessToken, String lastMsgID)
abstract String CreateSessionEx(WebUserEntity oUserEntity, String password, String newPasswd, String projectDSSID, StringWrapper regionalOptions, boolean resolveRegionalOptionsOnly, String clientID, int authMode, int sessionFlags)
This method extends CreateSession(String, String, String, String, int, String, int, int) by replacing the single locale parameter with a regional options XML, which is structured as follows, where the individual locale IDs must be a valid Windows Locale ID:
 <regional_options>
 	 <metadata>
     <locale>1033</locale>
 	 </metadata>
 	 <messages>
 	   <locale>1033</locale>
 	 </messages>
 	 <numbers>
 	   <locale>1033</locale>
 	 </numbers>
 	 <date>
 	   <locale>1033</locale>
 	 </date>
 </regional_options>
 
abstract String CreateSessionEx(String usherEmail, String login, String password, String newPasswd, String projectDSSID, StringWrapper regionalOptions, boolean resolveRegionalOptionsOnly, String clientID, int authMode, int sessionFlags, String extraParams, String accessToken)
This method is used for Intelligence Server session creation, and if successful returns a session ID.
abstract String CreateSessionEx(String login, String password, String newPasswd, String projectDSSID, StringWrapper regionalOptions, boolean resolveRegionalOptionsOnly, String clientID, int authMode, int sessionFlags, String extraParams, String accessToken)
abstract String CreateSessionEx(String login, String password, String newPasswd, String projectDSSID, StringWrapper regionalOptions, boolean resolveRegionalOptionsOnly, String clientID, String clientVersion, int authMode, int sessionFlags, String extraParams, String accessToken, String lastMsgID, String confSessionID)
* This method is used for Intelligence Server session creation.
abstract String CreateSessionEx(String login, String password, String newPasswd, String projectDSSID, StringWrapper regionalOptions, boolean resolveRegionalOptionsOnly, String clientID, int authMode, int sessionFlags)
This method extends CreateSession(String, String, String, String, int, String, int, int) by replacing the single locale parameter with a regional options XML, which is structured as follows, where the individual locale IDs must be a valid Windows Locale ID:
 <regional_options>
 	 <metadata>
     <locale>1033</locale>
 	 </metadata>
 	 <messages>
 	   <locale>1033</locale>
 	 </messages>
 	 <numbers>
 	   <locale>1033</locale>
 	 </numbers>
 	 <date>
 	   <locale>1033</locale>
 	 </date>
 </regional_options>
 
abstract String CreateSessionEx(String login, String password, String newPasswd, String projectDSSID, StringWrapper regionalOptions, boolean resolveRegionalOptionsOnly, String clientID, int authMode, int sessionFlags, String extraParams)
abstract String CreateSessionEx(String login, String password, String newPasswd, String projectDSSID, StringWrapper regionalOptions, boolean resolveRegionalOptionsOnly, String clientID, int authMode, int sessionFlags, String extraParams, String accessToken, String lastMsgID)
abstract String GetLicensingInfo(String sessionID, int flags, IntWrapper iwStatus)
This method is used to retrieve the licensing information for the user with the given session ID.
abstract String GetProjectLocales(String projectDSSID)
Returns the locales supported by a given project.
abstract String GetProjectLocales(String sessionID, String projectDSSID)
Returns the locales supported by a given project for a given user.
abstract String GetProjects(int flags)
Used to get the list of projects on the MSTR Server, which this session is connected to.
abstract String GetProjectsInCluster(String regionalOptions, int flags)
Used to get the list of projects loaded in the cluster.
abstract String GetProjectsInCluster(String regionalOptions, int flags, int[] statusFilter)
Used to get the list of projects loaded in the cluster.
abstract String GetProjectsInCluster(int flags)
Used to get the list of projects loaded in the cluster.
abstract String GetServerLocales()
Returns the locales supported by the Intelligence Server.
abstract String GetServerProperties(String options)
This is a sessionless call that retrieves various repository settings.
abstract String GetServerSettings()
abstract IDSSXMLUserProjectPrivilege GetUserAllPrivilege(String sessionID, String projectId, boolean inCluster)
This method returns user privilege information.
abstract void GetUserInfo(String sessionID, StringWrapper userId, StringWrapper userName, StringWrapper otherInfo)
Given a session ID, this method returns the user name, ID and other information on the Intelligence Server.
abstract IDSSXMLUserPrivilege GetUserPrivilege(String sessionID)
This method returns user privilege information.
abstract String GetUserPrivilegeXML(String sessionID)
Similar to GetUserPrivilege(String), except that this method returns the privilege information in the form of an XML String instead of an IDSSXMLUserPrivilege object.
abstract String GetUserProjects(String login, String passwd, int authMode, int flags)
Returns the collection of projects loaded in the Intelligence Server that the given user has access to.
abstract String GetUserProjectsInCluster(String sessionID, int flags, String regionalOptions)
Returns the collection of projects loaded in the cluster that the given user has access to.
abstract String GetUserProjectsInCluster(String login, String passwd, int authMode, int flags, String regionalOptions)
Returns the collection of projects loaded in the cluster that the given user has access to.
abstract String GetUserProjectsInCluster(String login, String passwd, int authMode, int flags, String regionalOptions, int[] statusFilter)
Returns the collection of projects loaded in the cluster that the given user has access to.
abstract String GetUserProjectsInCluster(String login, String passwd, int authMode, int flags)
Returns the collection of projects loaded in the cluster that the given user has access to.
abstract String GetUserProjectsInCluster(String sessionID, int flags, String regionalOptions, int[] statusFilter)
Returns the collection of projects loaded in the cluster that the given user has access to.
abstract String GetWebAPIVersion()
Returns the Web API Version.
abstract void InitRepository(String DSN, String login, String password, String ODBCSettings, String MDTablePrefix, String MDTempTablePrefix, int databaseType, int initMode, int locale)
This method will initialize the metadata repository of a server.
abstract String RegisterTrustedWebServer(String sessionID, String identifier)
Create Trust Relationship between Web Server and Intelligence Server.
abstract int getApplicationType()
Returns the current setting for application type.
abstract IDSSXMLClusterAdmin getClusterAdmin()
abstract IDSSXMLConfigServer getConfigServer()
Returns the IDSSXMLConfigServer object.
abstract boolean getCreateNewConnection()
This method will return whether the API will create a connection to an unconnected server if it has not been connected to when calling CreateSession, GetProjects, GetUserProjects, or CheckVersion.
abstract IDSSXMLDocumentServer getDocumentServer()
Returns an instance of the Document Server.
abstract IDSSXMLElementServer getElementServer()
Returns an instance of the Element Server
abstract IDSSXMLInbox getInbox()
Returns an instance of the Inbox interface
abstract String getLDAPDistinguishedName()
Get LDAP Distinguished Name for Single Sign on authentication mode
abstract IDSSXMLMDXCubeServer getMDXCubeServer()
abstract IDSSXMLObjectServer getObjectServer()
Returns an instance of the Object Server.
abstract IDSSXMLOneTierServer getOneTieeServer()
abstract IDSSXMLPerfCounterServer getPerfCounterServer(String sessionID, String serverName)
Returns the IDSSXMLPerfCounterServer object.
abstract int getPort()
Returns the port that the Web API will connect to the Intelligence Server on.
abstract int getRegularWorkingSetSize()
Returns the regular working set size for report/document execution.
abstract IDSSXMLReportServer getReportServer()
Returns an instance of the Report Server.
abstract IDSSXMLScheduleServer getScheduleServer()
Returns an instance of the Schedule Server.
abstract int getSearchWorkingSetSize()
Returns the currently active value for search working set size.
abstract IDSSXMLServerAdmin getServerAdmin()
Returns an instance of server admin.
abstract String getServerName()
Returns the name of the Intelligence Server that this object is connected to/will connect to.
abstract String getSessionKey()
Get session key for mobile encryption
abstract IDSSXMLSubscriptionServer getSubscriptionServer()
abstract String getTrustToken()
Get Trust Token for Single Sign on authentication mode
abstract void modifySession(String sessionID, Integer sessionFlags, Integer regularWorkingSet, Integer searchWorkingSet)
Modifies various session creation parameters after a session has been created.
abstract void putApplicationType(int _applicationType)
Sets the application type that will be sent to the I-Server when creating a session.
abstract void putCreateNewConnection(boolean createNew)
This method can be used to turn on or off the behavior of creating a new connection to the Intelligence Server if we are not connected to the Server when calling CreateSession, GetProjects, GetUserProjects, or CheckVersion.
abstract void putPort(int portNum)
Sets the socket port used to interact with the Intelligence Server.
abstract void putRegularWorkingSetSize(int regularWorkingSetSize)
Sets the regular working set size for report/document execution This will only work if the session is created after this call.
abstract void putSearchWorkingSetSize(int searchWorkingSetSize)
Sets the search working set size.
abstract void putServerName(String serverName)
Sets the server name of the MSTR Intelligence Server that this ServerSession will connect to.
abstract void removeTrustedWebServer(String sessionID, String tokenString, String serverName)
Delete Trust Relationship between Web Server and Intelligence Server.
abstract byte[] sendBinaryXMLCommand(String xmlCommand, String sessionID, InputStream data, long dataLength, IntWrapper status, StringWrapper msgID)
abstract byte[] sendBinaryXMLCommand(String xmlCommand, String sessionID, IntWrapper status, StringWrapper msgID)
Sends a sessioned XML API call to IServer and retrieves the results as binary
abstract String sendXMLCommand(String xmlCommand, String sessionID, IntWrapper status, StringWrapper msgID)
Sends a sessioned XML API call to IServer and retrieves the results as a String
abstract String sendXMLCommand(String xmlCommand, String sessionID, InputStream data, long dataLength, int requestTimeout, IntWrapper status, StringWrapper msgID)
abstract String sendXMLCommand(String xmlCommand, String sessionID, InputStream data, long dataLength, IntWrapper status, StringWrapper msgID)
abstract void setGSSCredential(GSSCredential credential)
Set GSS Delegation Credential for Kerberos Authentication mode
abstract void setLDAPDistinguishedName(String LDAPDN)
Set LDAP Distinguished Name for Single Sign on authentication mode
abstract void setSessionKey(String sessionKey)
Set session key for mobile encryption
abstract void setTrustToken(String token)
Set Trust Token for Single Sign on authentication mode

Constants

public static final int DEFAULT_CloseSession_sessionFlags

Default value for the sessionFlags parameter of the CloseSession method

Constant Value: 65536 (0x00010000)

public static final int DEFAULT_CreateSession_authMode

Default value for the authMode parameter of the CreateSession method

Constant Value: 1 (0x00000001)

public static final String DEFAULT_CreateSession_clientID

Default value for the clientID parameter of the CreateSession method

Constant Value: "Web Server"

public static final int DEFAULT_CreateSession_locale

Default value for the locale parameter of the CreateSession method

Constant Value: 1033 (0x00000409)

public static final String DEFAULT_CreateSession_login

Default value for the login parameter of the CreateSession method

Constant Value: ""

public static final String DEFAULT_CreateSession_newPasswd

Default value for the newPasswd parameter of the CreateSession method

Constant Value: ""

public static final String DEFAULT_CreateSession_passwd

Default value for the passwd parameter of the CreateSession method

Constant Value: ""

public static final String DEFAULT_CreateSession_projectName

Default value for the projectName parameter of the CreateSession method

Constant Value: ""

public static final int DEFAULT_CreateSession_sessionFlags

Default value for the sessionFlags parameter of the CreateSession method

Constant Value: 0 (0x00000000)

public static final int DEFAULT_GetProjects_flags

Default value for the flags parameter of the GetProjects method

Constant Value: 0 (0x00000000)

public static final int DEFAULT_putRegularWorkingSetSize_regularWorkingSetSize

Default value for the regularWorkingSetSize parameter of the putRegularWorkingSetSize method

Constant Value: 3 (0x00000003)

public static final int DEFAULT_putSearchWorkingSetSize_searchWorkingSetSize

Default value for the searchWorkingSetSize parameter of the putSearchWorkingSetSize method

Constant Value: 1 (0x00000001)

Public Methods

public abstract void ChangePassword (String sessionID, String oldPassword, String newPassword)

Changes the user's password.

The difference between this change password and the change password functionality offered by CreateSession is that this is used when a session has already been established. This offers the ability for a user to change his/her password after the user logs in.

Parameters
sessionID A valid Session ID.
oldPassword The old password.
newPassword The new password.
Throws
MSTRWebAPIException Signals an error condition.

public abstract boolean CheckVersion (StringWrapper swXMLAPIVersion, StringWrapper swServerVersion)

Used to check the version of both the Web API and the Server, and see whether they are guaranteed compatible with each other. Note that this function reutrning false doesn't mean that they are not compatible, though if it returns yes, then they are guaranteed to be compatible. Also note that the XMLAPI version will be returned even if the method throws an exception.

Parameters
swXMLAPIVersion StringWrapper that will return the Web API Version.
swServerVersion StringWrapper that will return the Server Version.
Returns
  • Is API and Server compatible?
Throws
MSTRWebAPIException Signals an error condition.

public abstract void CloseSession (String sessionID, int sessionFlags)

Closes a session, freeing up resources in the Intelligence Server.

Parameters
sessionID The id for the session which is to be closed.
sessionFlags Flags to use when closing the session - comes from EnumDSSXMLSessionFlags. [Default=DssXmlSessionPreserveFlags]
Throws
MSTRWebAPIException Signals an error condition.

public abstract void CreateProject (String sessionId, String name, String scriptPath, Locale primaryLocale, Locale[] supportedLocales)

Adds a project to the current IServer

Parameters
name String Name of the new project
scriptPath String location The path to find NEWPROJECT.PDS
primaryLocale Locale The Primary locale for the project
supportedLocales Locale[] An Array of the locales this project supports

public abstract void CreateProject (String sessionId, String name, String scriptPath, Locale primaryLocale, Locale[] supportedLocales, int flag)

Adds a project to the current IServer

Parameters
name String Name of the new project
scriptPath String location The path to find NEWPROJECT.PDS
primaryLocale Locale The Primary locale for the project
supportedLocales Locale[] An Array of the locales this project supports
flag a flag for creating project

public abstract String CreateSession (String login, String password, String newPasswd, String projectName, int locale, String client, int authMode, int sessionFlags, String extraParams, String confSessionID)

This method is used for Intelligence Server session creation. If users want to create a project session based on configuration session, the authMode should be set as DssXmlAuthSessionID.@return

public abstract String CreateSession (String login, String password, String newPasswd, String projectName, int locale, String clientID, int authMode, int sessionFlags)

Creates a session in the Intelligence Server. Almost all operations (except GetProjects and CheckVersion) of the Web API require a session ID. By creating a session, a user is authenticated in the Server to perform the operations that are allowed for its account.

If projectName is empty, the session is created at the Intelligence Server without connecting to any project. During this session, the user can only perform project independent operations. The user can only check inbox messages and their content. The user cannot perform any project-related operations, like submit reports or documents, or browse objects.

With CreateSession, a user can change the password. To change the password, the sessionFlags has to be DssXmlSessionChangePwdOnCreate. If the sessionFlags is set to anything else and a new password is provided, the password will not be changed.

The clientID parameter is used for client identification. Client machine names, IP addresses or the names of the user who uses the machine are examples of clientID. When using the default, a hard coded "Web Server" is used. This ID can be used by MicroStrategy Server for monitoring purposes.

When authMode mode is DssXmlAuthStandard, uid/passwd parameters are required. Uid cannot be empty while passwd can be an empty string.

The setting for authMode of DssXmlAuthNTCredential is disabled for the Java-based Web API. This is because the Web Server platform is not necessarily Windows NT, and as such this cannot be a valid option from the Java WebAPI.

When AuthMode is set to "DssXmlAuthAnonymous", MicroStrategy Server will log the user in as an anonymous account. The user has whatever the privilege an anonymous account is set in the Data Source.

Anonymous authentication mode does not require a user name and a password when CreateSession is called.

The sessionFlags is used to indicate the different options for the session. See the sessionFlags description for details.

Parameters
login The user's login name. [Default=""]
password The user's password. [Default=""]
newPasswd A new password for the user to change password. [Default=""]
projectName The name of the project to connect to. [Default=""]
locale Locale for internationalization (corresponds to the Windows Locale ID). [Default=1033]
clientID String for client identification (client machine name or IP address). [Default=""]
authMode Authorization mode to use to login. Requires a value from EnumDSSXMLAuthModes. [Default=DssXmlAuthStandard]
sessionFlags Flags indicating the different options for this session. Value must be from EnumDSSXMLSessionFlags. [Default=0]
Returns
  • A valid Session ID to the Microstrategy Intelligence Server and Project specified.
Throws
MSTRWebAPIException Signals an error condition.

public abstract String CreateSession (String login, String password, String newPasswd, String projectName, int locale, String clientID, int authMode, int sessionFlags, String extraParams)

public abstract String CreateSessionEx (String login, String password, String newPasswd, String projectDSSID, StringWrapper regionalOptions, boolean resolveRegionalOptionsOnly, String clientID, String clientVersion, int authMode, int sessionFlags, String extraParams, String accessToken, String lastMsgID)

public abstract String CreateSessionEx (WebUserEntity oUserEntity, String password, String newPasswd, String projectDSSID, StringWrapper regionalOptions, boolean resolveRegionalOptionsOnly, String clientID, int authMode, int sessionFlags)

This method extends CreateSession(String, String, String, String, int, String, int, int) by replacing the single locale parameter with a regional options XML, which is structured as follows, where the individual locale IDs must be a valid Windows Locale ID:

 <regional_options>
 	 <metadata>
     <locale>1033</locale>
 	 </metadata>
 	 <messages>
 	   <locale>1033</locale>
 	 </messages>
 	 <numbers>
 	   <locale>1033</locale>
 	 </numbers>
 	 <date>
 	   <locale>1033</locale>
 	 </date>
 </regional_options>
 

Parameters
oUserEntity The user.
password The user's password. [Default=""]
newPasswd A new password for the user to change password. [Default=""]
projectDSSID The project to connect to. [Default=""]
regionalOptions Localization settings XML, which is used both as an input to configure settings and the output or resolved settings.
resolveRegionalOptionsOnly if true, no session is actually created, only locales are resolved
clientID String for client identification (client machine name or IP address). [Default=""]
authMode Authorization mode to use to login. Requires a value from EnumDSSXMLAuthModes. [Default=DssXmlAuthStandard]
sessionFlags Flags indicating the different options for this session. Value must be from EnumDSSXMLSessionFlags. [Default=0]
Returns
  • A valid Session ID to the Microstrategy Intelligence Server and Project specified.
Throws
MSTRWebAPIException
MSTRWebAPIException

public abstract String CreateSessionEx (String usherEmail, String login, String password, String newPasswd, String projectDSSID, StringWrapper regionalOptions, boolean resolveRegionalOptionsOnly, String clientID, int authMode, int sessionFlags, String extraParams, String accessToken)

This method is used for Intelligence Server session creation, and if successful returns a session ID. If an usherEmail is passed as a parameter, it will first authenticate the Intelligence Server user, then create an associated user on the Usher Server with the following sample response:

<usher_response>
<header>HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Cache-Control: no-cache, no-store, must-revalidate
Expires: 0
Pragma: no-cache
Content-Type: application/json
Content-Length: 90
Date: Wed, 04 Mar 2015 22:31:52 GMT
</header>
<body>["email":"abc@microstrategy.com","user_id":10,"code":"A7NbvsLkedYSYeUB2STKevJYbVgnfR"]</body>
</usher_response>

Returns
  • session ID (or Usher response XML)

public abstract String CreateSessionEx (String login, String password, String newPasswd, String projectDSSID, StringWrapper regionalOptions, boolean resolveRegionalOptionsOnly, String clientID, int authMode, int sessionFlags, String extraParams, String accessToken)

public abstract String CreateSessionEx (String login, String password, String newPasswd, String projectDSSID, StringWrapper regionalOptions, boolean resolveRegionalOptionsOnly, String clientID, String clientVersion, int authMode, int sessionFlags, String extraParams, String accessToken, String lastMsgID, String confSessionID)

* This method is used for Intelligence Server session creation. If users want to create a project session based on configuration session, the authMode should be set as DssXmlAuthSessionID.@return

public abstract String CreateSessionEx (String login, String password, String newPasswd, String projectDSSID, StringWrapper regionalOptions, boolean resolveRegionalOptionsOnly, String clientID, int authMode, int sessionFlags)

This method extends CreateSession(String, String, String, String, int, String, int, int) by replacing the single locale parameter with a regional options XML, which is structured as follows, where the individual locale IDs must be a valid Windows Locale ID:

 <regional_options>
 	 <metadata>
     <locale>1033</locale>
 	 </metadata>
 	 <messages>
 	   <locale>1033</locale>
 	 </messages>
 	 <numbers>
 	   <locale>1033</locale>
 	 </numbers>
 	 <date>
 	   <locale>1033</locale>
 	 </date>
 </regional_options>
 

Parameters
login The user's login name. [Default=""]
password The user's password. [Default=""]
newPasswd A new password for the user to change password. [Default=""]
projectDSSID The project to connect to. [Default=""]
regionalOptions Localization settings XML, which is used both as an input to configure settings and the output or resolved settings.
resolveRegionalOptionsOnly if true, no session is actually created, only locales are resolved
clientID String for client identification (client machine name or IP address). [Default=""]
authMode Authorization mode to use to login. Requires a value from EnumDSSXMLAuthModes. [Default=DssXmlAuthStandard]
sessionFlags Flags indicating the different options for this session. Value must be from EnumDSSXMLSessionFlags. [Default=0]
Returns
  • A valid Session ID to the Microstrategy Intelligence Server and Project specified.
Throws
MSTRWebAPIException
MSTRWebAPIException

public abstract String CreateSessionEx (String login, String password, String newPasswd, String projectDSSID, StringWrapper regionalOptions, boolean resolveRegionalOptionsOnly, String clientID, int authMode, int sessionFlags, String extraParams)

public abstract String CreateSessionEx (String login, String password, String newPasswd, String projectDSSID, StringWrapper regionalOptions, boolean resolveRegionalOptionsOnly, String clientID, int authMode, int sessionFlags, String extraParams, String accessToken, String lastMsgID)

public abstract String GetLicensingInfo (String sessionID, int flags, IntWrapper iwStatus)

This method is used to retrieve the licensing information for the user with the given session ID. This information will simply be whether the user has restricted permissions because of licensing violations.

Parameters
sessionID The session ID of the session to test.
flags Reserved for future use.
iwStatus An IntWrapper which will contain the status of the call (failed vs ok).
Returns
  • An XML string describing the noncompliance, if the user is out of licensing compliance.
Throws
MSTRWebAPIException Thrown if an error occurs when retrieving the information.

public abstract String GetProjectLocales (String projectDSSID)

Returns the locales supported by a given project.

Parameters
projectDSSID the DSS ID of the project
Returns
  • XML String corresponding to the locale list
Throws
MSTRWebAPIException thrown if an error occurs during retrieval

public abstract String GetProjectLocales (String sessionID, String projectDSSID)

Returns the locales supported by a given project for a given user.

Parameters
sessionID session ID
projectDSSID the DSS ID of the project
Returns
  • XML String corresponding to the locale list
Throws
MSTRWebAPIException thrown if an error occurs during retrieval

public abstract String GetProjects (int flags)

Used to get the list of projects on the MSTR Server, which this session is connected to.

Parameters
flags Reserved [Default=0]
Returns
  • XML String corresponding to project list.
Throws
MSTRWebAPIException Signals an error condition.

public abstract String GetProjectsInCluster (String regionalOptions, int flags)

Used to get the list of projects loaded in the cluster.

Parameters
regionalOptions localization settings.
flags Reserved [Default=0]
Returns
  • XML String corresponding to project list, loaded by any server in the cluster. This session connnect to a MSTR server, which belongs to a cluster. Each server in the cluster may load different project(s). This list includes project which is loaded by at least one server in the cluster.
Throws
MSTRWebAPIException Signals an error condition.

public abstract String GetProjectsInCluster (String regionalOptions, int flags, int[] statusFilter)

Used to get the list of projects loaded in the cluster.

Parameters
regionalOptions localization settings.
flags Reserved [Default=0]
statusFilter a set of EnumDSSXMLProjectStatus values to filter the projects to return.
Returns
  • XML String corresponding to project list, loaded by any server in the cluster. This session connnect to a MSTR server, which belongs to a cluster. Each server in the cluster may load different project(s). This list includes project which is loaded by at least one server in the cluster.
Throws
MSTRWebAPIException Signals an error condition.

public abstract String GetProjectsInCluster (int flags)

Used to get the list of projects loaded in the cluster.

Parameters
flags Reserved [Default=0]
Returns
  • XML String corresponding to project list, loaded by any server in the cluster. This session connnect to a MSTR server, which belongs to a cluster. Each server in the cluster may load different project(s). This list includes project which is loaded by at least one server in the cluster.
Throws
MSTRWebAPIException Signals an error condition.

public abstract String GetServerLocales ()

Returns the locales supported by the Intelligence Server.

Returns
  • XML String corresponding to the locale list
Throws
MSTRWebAPIException thrown if an error occurs during retrieval

public abstract String GetServerProperties (String options)

This is a sessionless call that retrieves various repository settings.

Parameters
options options to govern retrieved settings (currently unused).
Returns
  • repository settings
Throws
MSTRWebAPIException thrown if an error occurs while processing this command

public abstract String GetServerSettings ()

public abstract IDSSXMLUserProjectPrivilege GetUserAllPrivilege (String sessionID, String projectId, boolean inCluster)

This method returns user privilege information.

This method takes a sessionID as input and returns an IDSSXMLUserPrivilege object. To get a sessionID, use CreateSession to login to Server configuration. If a user logs into configuration (creates session with empty project name), the privileges returned by this function are those defined on user object. These privileges are project independent. If a user logs into a particular project, the privileges returned are privileges the user has for this project plus those project independent privileges.

User privileges that can be returned are listed in the enumeration class EnumDSSXMLPrivilegeTypes. To check if a user has a particular privilege, call the CheckPrivilege method of IDSSXMLUserPrivilege object. This method takes a privilege value from EnumDSSXMLPrivilegeTypes as input and returns true if the user has the privilege, or False if the user does not.

Parameters
sessionID A valid Session ID.
projectId A valid project ID (optional). If the id is null or an empty string, the information would be returned for all projects.
inCluster If the project true to indicate the privileges for all active projects in cluster.
Returns
  • A UserPrivilege interface, used to extract data for each particular privilege. See the IDSSXMLUserPrivilege class for more details. The privileges must be from EnumDSSXMLPrivilegeTypes.
Throws
MSTRWebAPIException Signals an error condition.

public abstract void GetUserInfo (String sessionID, StringWrapper userId, StringWrapper userName, StringWrapper otherInfo)

Given a session ID, this method returns the user name, ID and other information on the Intelligence Server.

Parameters
sessionID The session ID whose user information will be returned.
userId A wrapper object that will be populated with the User ID after calling.
userName A wrapper object that will be populated with the user name after calling.
otherInfo Reserved. Pass a valid Wrapper object for compatibility's sake.
Throws
MSTRWebAPIException Signals an error condition..

public abstract IDSSXMLUserPrivilege GetUserPrivilege (String sessionID)

This method returns user privilege information.

This method takes a sessionID as input and returns an IDSSXMLUserPrivilege object. To get a sessionID, use CreateSession to login to Server configuration. If a user logs into configuration (creates session with empty project name), the privileges returned by this function are those defined on user object. These privileges are project independent. If a user logs into a particular project, the privileges returned are privileges the user has for this project plus those project independent privileges.

User privileges that can be returned are listed in the enumeration class EnumDSSXMLPrivilegeTypes. To check if a user has a particular privilege, call the CheckPrivilege method of IDSSXMLUserPrivilege object. This method takes a privilege value from EnumDSSXMLPrivilegeTypes as input and returns true if the user has the privilege, or False if the user does not.

Parameters
sessionID A valid Session ID.
Returns
  • A UserPrivilege interface, used to extract data for each particular privilege. See the IDSSXMLUserPrivilege class for more details. The privileges must be from EnumDSSXMLPrivilegeTypes.
Throws
MSTRWebAPIException Signals an error condition.

public abstract String GetUserPrivilegeXML (String sessionID)

Similar to GetUserPrivilege(String), except that this method returns the privilege information in the form of an XML String instead of an IDSSXMLUserPrivilege object. Please note that these two methods are 2 different calls to the Intelligence Server.

Parameters
sessionID A valid Session ID.
Returns
  • An XML String that contains all the privilege information. This XML is of the form <uaps>
    <pris>
    <pri> XXX </p> -- an integer bit-wise value
    ...
    <pri> XXX </p>
    </pris>
    </uaps>
Throws
MSTRWebAPIException
MSTRWebAPIException

public abstract String GetUserProjects (String login, String passwd, int authMode, int flags)

Returns the collection of projects loaded in the Intelligence Server that the given user has access to. An application can use this method to list only the projects in the Intelligence Server that the user can login to.

Parameters
login The user's login name.
passwd The user's password.
authMode The authorization mode to use upon logging into the server. This value comes from EnumDSSXMLAuthModes.
flags This parameter is not used at this time.
Returns
  • An XML represents user projects information.
Throws
MSTRWebAPIException Thrown when error occurs during retrieve the information from Intelligence Server.

public abstract String GetUserProjectsInCluster (String sessionID, int flags, String regionalOptions)

Returns the collection of projects loaded in the cluster that the given user has access to.

Parameters
sessionID session ID of user.
flags This parameter is not used at this time.
regionalOptions localization settings.

public abstract String GetUserProjectsInCluster (String login, String passwd, int authMode, int flags, String regionalOptions)

Returns the collection of projects loaded in the cluster that the given user has access to. An application can use this method to list only the projects in the cluster that the user can login to. This session connnect to a MSTR server, which belongs to a cluster. Each server in the cluster may load different project(s). This list includes project, which user has access to and is loaded by at least one server in the cluster.

Parameters
login The user's login name.
passwd The user's password.
authMode The authorization mode to use upon logging into the server. This value comes from EnumDSSXMLAuthModes.
flags This parameter is not used at this time.
regionalOptions localization settings.
Returns
  • An XML represents the information about the user projects in cluster.
Throws
MSTRWebAPIException Thrown when error occurs during retrieve the information from Intelligence Server.

public abstract String GetUserProjectsInCluster (String login, String passwd, int authMode, int flags, String regionalOptions, int[] statusFilter)

Returns the collection of projects loaded in the cluster that the given user has access to. An application can use this method to list only the projects in the cluster that the user can login to. This session connnect to a MSTR server, which belongs to a cluster. Each server in the cluster may load different project(s). This list includes project, which user has access to and is loaded by at least one server in the cluster.

Parameters
login The user's login name.
passwd The user's password.
authMode The authorization mode to use upon logging into the server. This value comes from EnumDSSXMLAuthModes.
flags This parameter is not used at this time.
regionalOptions localization settings.
statusFilter a set of EnumDSSXMLProjectStatus values to filter the projects to return.
Returns
  • An XML represents the information about the user projects in cluster.
Throws
MSTRWebAPIException Thrown when error occurs during retrieve the information from Intelligence Server.

public abstract String GetUserProjectsInCluster (String login, String passwd, int authMode, int flags)

Returns the collection of projects loaded in the cluster that the given user has access to. An application can use this method to list only the projects in the cluster that the user can login to. This session connnect to a MSTR server, which belongs to a cluster. Each server in the cluster may load different project(s). This list includes project, which user has access to and is loaded by at least one server in the cluster.

Parameters
login The user's login name.
passwd The user's password.
authMode The authorization mode to use upon logging into the server. This value comes from EnumDSSXMLAuthModes.
flags This parameter is not used at this time.
Returns
  • An XML represents the information about the user projects in cluster.
Throws
MSTRWebAPIException Thrown when error occurs during retrieve the information from Intelligence Server.

public abstract String GetUserProjectsInCluster (String sessionID, int flags, String regionalOptions, int[] statusFilter)

Returns the collection of projects loaded in the cluster that the given user has access to.

Parameters
sessionID session ID of user.
flags This parameter is not used at this time.
regionalOptions localization settings.
statusFilter a set of EnumDSSXMLProjectStatus values to filter the projects to return.
Returns
  • An XML represents the information about the user projects in cluster.
Throws
MSTRWebAPIException Thrown when error occurs during retrieve the information from Intelligence Server.

public abstract String GetWebAPIVersion ()

Returns the Web API Version.

Returns
  • the Web API version.

public abstract void InitRepository (String DSN, String login, String password, String ODBCSettings, String MDTablePrefix, String MDTempTablePrefix, int databaseType, int initMode, int locale)

This method will initialize the metadata repository of a server. This will cause the tables in the database to be setup for intelligence server usage.

Parameters
DSN The DSN to use to connect to the database.
login The login to the database.
password A password for the database.
ODBCSettings A string of additional ODBC settings.
MDTablePrefix The MD table prefix, if one must be used.
MDTempTablePrefix The MD temp table prefix, if one must be used.
databaseType The database type, from EnumDSSXMLDatabaseType.
initMode The modes to use, from EnumDSSXMLInitRepositoryModes.
locale The locale to use for the request.
Throws
MSTRWebAPIException Thrown if an error occurs.

public abstract String RegisterTrustedWebServer (String sessionID, String identifier)

Create Trust Relationship between Web Server and Intelligence Server.

Parameters
sessionID session to Intelligence Server
identifier the web application name passed to Intelligence Server
Returns
  • Trust token for the create trust relationship

public abstract int getApplicationType ()

Returns the current setting for application type.

Returns

public abstract IDSSXMLClusterAdmin getClusterAdmin ()

public abstract IDSSXMLConfigServer getConfigServer ()

Returns the IDSSXMLConfigServer object. This object can be used to perform configuration-type operations on the server.

Returns

public abstract boolean getCreateNewConnection ()

This method will return whether the API will create a connection to an unconnected server if it has not been connected to when calling CreateSession, GetProjects, GetUserProjects, or CheckVersion.

Returns
  • Whether a new connection will be created to an unconnected server on certain API calls.

public abstract IDSSXMLDocumentServer getDocumentServer ()

Returns an instance of the Document Server.

Returns
  • An instance of the document server.

public abstract IDSSXMLElementServer getElementServer ()

Returns an instance of the Element Server

Returns
  • An instance of the element server object.

public abstract IDSSXMLInbox getInbox ()

Returns an instance of the Inbox interface

Returns
  • An instance of the inbox interface object.

public abstract String getLDAPDistinguishedName ()

Get LDAP Distinguished Name for Single Sign on authentication mode

Returns
  • LDAP Distinguished Name for Single Sign on authentication mode

public abstract IDSSXMLMDXCubeServer getMDXCubeServer ()

public abstract IDSSXMLObjectServer getObjectServer ()

Returns an instance of the Object Server.

Returns
  • An Object Server instance.

public abstract IDSSXMLOneTierServer getOneTieeServer ()

public abstract IDSSXMLPerfCounterServer getPerfCounterServer (String sessionID, String serverName)

Returns the IDSSXMLPerfCounterServer object. This object can be used to gather performance information from the Intelliegence Server.

Parameters
sessionID A session ID which has the privilege to monitor performance counters.
serverName The server to gather performance information about. This server must be in the same cluster as the server the session ID was obtained from.
Returns
Throws
MSTRWebAPIException Thrown if the session ID does not come from a server in the cluster with the given server, or if the user does not have the performance monitoring privilege.

public abstract int getPort ()

Returns the port that the Web API will connect to the Intelligence Server on. 0 will denote the default port.

Returns
  • The port number.

public abstract int getRegularWorkingSetSize ()

Returns the regular working set size for report/document execution.

Returns
  • The value of the regular working set size.

public abstract IDSSXMLReportServer getReportServer ()

Returns an instance of the Report Server.

Returns
  • A Report Server instance.

public abstract IDSSXMLScheduleServer getScheduleServer ()

Returns an instance of the Schedule Server.

Returns
  • An instance of IDSSXMLScheduleServer.

public abstract int getSearchWorkingSetSize ()

Returns the currently active value for search working set size.

Returns
  • The value of the search working set size.

public abstract IDSSXMLServerAdmin getServerAdmin ()

Returns an instance of server admin.

Returns
  • IDSSXMLServerAdmin

public abstract String getServerName ()

Returns the name of the Intelligence Server that this object is connected to/will connect to.

Returns
  • The name of the Intelligence Server.

public abstract String getSessionKey ()

Get session key for mobile encryption

Returns
  • Session key for mobile encryption

public abstract IDSSXMLSubscriptionServer getSubscriptionServer ()

public abstract String getTrustToken ()

Get Trust Token for Single Sign on authentication mode

Returns
  • Trust Token for Single Sign on authentication mode

public abstract void modifySession (String sessionID, Integer sessionFlags, Integer regularWorkingSet, Integer searchWorkingSet)

Modifies various session creation parameters after a session has been created. Null parameters are ignored. This operation does not affect the underlying regular or search working set values on this instance.

Parameters
sessionID session to modify
sessionFlags session flags from EnumDSSXMLSessionFlags
regularWorkingSet regular working set size
searchWorkingSet search working set size
Throws
MSTRWebAPIException thrown if an error occurs while processing this command

public abstract void putApplicationType (int _applicationType)

Sets the application type that will be sent to the I-Server when creating a session. This will affect the application type of the request in the informational tools(i.e. desktop's connection monitor).

Parameters
_applicationType The application type of the connection, from EnumDSSXMLApplicationType.

public abstract void putCreateNewConnection (boolean createNew)

This method can be used to turn on or off the behavior of creating a new connection to the Intelligence Server if we are not connected to the Server when calling CreateSession, GetProjects, GetUserProjects, or CheckVersion. By default this setting is true, and is set only on the scope of the current IDSSXMLServerSession object.

Parameters
createNew Whether to create a new connection to an unconnected server on certain API calls.

public abstract void putPort (int portNum)

Sets the socket port used to interact with the Intelligence Server. Setting the port to 0 means the default port number of Intelligence Server is used. Before setting this port number, the application needs to contact the Server administrator to make sure the same port number is used to start MSTR Intelligence Server. This will only take effect for sessions created after this call.

Parameters
portNum The new port number.

public abstract void putRegularWorkingSetSize (int regularWorkingSetSize)

Sets the regular working set size for report/document execution This will only work if the session is created after this call.

Parameters
regularWorkingSetSize The value to set the regular working set size to. [Default=10] [Minimum value=3]
Throws
MSTRWebAPIException Thrown if a session is already open, which means that this value cannot be set until it is closed.

public abstract void putSearchWorkingSetSize (int searchWorkingSetSize)

Sets the search working set size. This will only work if the session is created after this call.

Parameters
searchWorkingSetSize The value to set the regular working set size to. [Default=1]
Throws
MSTRWebAPIException Thrown if a session is already open, which means that this value cannot be set until it is closed.

public abstract void putServerName (String serverName)

Sets the server name of the MSTR Intelligence Server that this ServerSession will connect to. This will only take effect for sessions created after this call.

Parameters
serverName The new server name to use.

public abstract void removeTrustedWebServer (String sessionID, String tokenString, String serverName)

Delete Trust Relationship between Web Server and Intelligence Server.

Parameters
sessionID session to Intelligence Server
tokenString token for the trust relationship to be deleted
serverName the Web Server name for the Trust relationship

public abstract byte[] sendBinaryXMLCommand (String xmlCommand, String sessionID, InputStream data, long dataLength, IntWrapper status, StringWrapper msgID)

Parameters
data java.io.InputStream containing binary portion of command
dataLength long specifying length of binary data (in bytes)

public abstract byte[] sendBinaryXMLCommand (String xmlCommand, String sessionID, IntWrapper status, StringWrapper msgID)

Sends a sessioned XML API call to IServer and retrieves the results as binary

Parameters
xmlCommand String containing the XML command to be sent
sessionID String containing the session ID
Returns
  • byte[] containing response from IServer, if there is one; null o/w

public abstract String sendXMLCommand (String xmlCommand, String sessionID, IntWrapper status, StringWrapper msgID)

Sends a sessioned XML API call to IServer and retrieves the results as a String

Parameters
xmlCommand String containing the XML command to be sent
sessionID String containing the session ID
Returns
  • String containing response from IServer, if there is one; empty o/w

public abstract String sendXMLCommand (String xmlCommand, String sessionID, InputStream data, long dataLength, int requestTimeout, IntWrapper status, StringWrapper msgID)

Parameters
data java.io.InputStream containing binary portion of command
dataLength long specifying length of binary data (in bytes)
requestTimeout the alternative request timeout value to override the default session timeout setting

public abstract String sendXMLCommand (String xmlCommand, String sessionID, InputStream data, long dataLength, IntWrapper status, StringWrapper msgID)

Parameters
data java.io.InputStream containing binary portion of command
dataLength long specifying length of binary data (in bytes)

public abstract void setGSSCredential (GSSCredential credential)

Set GSS Delegation Credential for Kerberos Authentication mode

Parameters
credential GSS Delegation Credential for Kerberos Authentication mode

public abstract void setLDAPDistinguishedName (String LDAPDN)

Set LDAP Distinguished Name for Single Sign on authentication mode

Parameters
LDAPDN LDAP Distinguished Name for Single Sign on authentication mode

public abstract void setSessionKey (String sessionKey)

Set session key for mobile encryption

Parameters
sessionKey Session key for mobile encryption

public abstract void setTrustToken (String token)

Set Trust Token for Single Sign on authentication mode

Parameters
token Trust Token for Single Sign on authentication mode