Interface IDSSXMLServerSession


  • public interface IDSSXMLServerSession
    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).
    Since:
    MicroStrategy Web 7.3.1 or earlier
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void ChangePassword​(java.lang.String sessionID, java.lang.String oldP, java.lang.String newP)
      Changes the user's password.
      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.
      void CloseSession​(java.lang.String sessionID, int sessionFlags)
      Closes a session, freeing up resources in the Intelligence Server.
      IDSSXMLSessionId.IConfigSessionId CreateConfigSession​(IDSSXMLSessionId.IMasterSessionId iMasterSessionId, java.lang.String iMachineAddress, int mMachinePort)
      CreateConfigSession creates a Configuration Session Id to the specified Intelligence Server from the input Master Session Id.
      IDSSXMLSessionId.IMasterSessionId CreateMasterSession​(java.lang.String clientVersion, java.lang.String usherEmail, boolean useExt, java.lang.String l, java.lang.String uid, java.lang.String p, java.lang.String newP, StringWrapper regionalOptions, boolean resolveRegionalOptionsOnly, int locale, java.lang.String clientID, int authMode, int sessionFlags, java.lang.String extraParams, java.lang.String accessToken, java.lang.String lastMsgId, java.util.Optional<java.lang.String> iProjectIdOpt)
      CreateMasterSession creates a Master Session Id to the Intelligence Server that is backed by the Jwt infrastructure so that single-sign-on (SSO) can work in in an asymmetric cluster.
      void CreateProject​(java.lang.String sessionID, java.lang.String name, java.lang.String description, java.lang.String scriptPath, java.util.Locale primaryLocale, java.util.Locale[] supportedLocales, int flag)
      Adds a project to the current IServer
      void CreateProject​(java.lang.String sessionId, java.lang.String name, java.lang.String scriptPath, java.util.Locale primaryLocale, java.util.Locale[] supportedLocales)
      Adds a project to the current IServer
      void CreateProject​(java.lang.String sessionId, java.lang.String name, java.lang.String scriptPath, java.util.Locale primaryLocale, java.util.Locale[] supportedLocales, int flag)
      Adds a project to the current IServer
      IDSSXMLSessionId.IProjectSessionId CreateProjectSession​(IDSSXMLSessionId.IMasterSessionId iMasterSessionId, java.lang.String iProjectId)
      CreateProjectSession creates a Project Session Id to the Intelligence Server from the input Master Session Id.
      java.lang.String CreateSession​(java.lang.String l, java.lang.String p, java.lang.String newP, java.lang.String projectName, int locale, java.lang.String clientID, int authMode, int sessionFlags)
      Creates a session in the Intelligence Server.
      java.lang.String CreateSession​(java.lang.String l, java.lang.String p, java.lang.String newP, java.lang.String projectName, int locale, java.lang.String clientID, int authMode, int sessionFlags, java.lang.String extraParams)  
      java.lang.String CreateSession​(java.lang.String l, java.lang.String p, java.lang.String newP, java.lang.String projectName, int locale, java.lang.String client, int authMode, int sessionFlags, java.lang.String extraParams, java.lang.String confSessionID)
      This method is used for Intelligence Server session creation.
      java.lang.String CreateSessionEx​(WebUserEntity oUserEntity, java.lang.String p, java.lang.String newP, java.lang.String projectDSSID, StringWrapper regionalOptions, boolean resolveRegionalOptionsOnly, java.lang.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:
      java.lang.String CreateSessionEx​(java.lang.String l, java.lang.String p, java.lang.String newP, java.lang.String projectDSSID, StringWrapper regionalOptions, boolean resolveRegionalOptionsOnly, java.lang.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:
      java.lang.String CreateSessionEx​(java.lang.String l, java.lang.String p, java.lang.String newP, java.lang.String projectDSSID, StringWrapper regionalOptions, boolean resolveRegionalOptionsOnly, java.lang.String clientID, int authMode, int sessionFlags, java.lang.String extraParams)  
      java.lang.String CreateSessionEx​(java.lang.String l, java.lang.String p, java.lang.String newP, java.lang.String projectDSSID, StringWrapper regionalOptions, boolean resolveRegionalOptionsOnly, java.lang.String clientID, int authMode, int sessionFlags, java.lang.String extraParams, java.lang.String accessToken)  
      java.lang.String CreateSessionEx​(java.lang.String l, java.lang.String p, java.lang.String newP, java.lang.String projectDSSID, StringWrapper regionalOptions, boolean resolveRegionalOptionsOnly, java.lang.String clientID, int authMode, int sessionFlags, java.lang.String extraParams, java.lang.String accessToken, java.lang.String lastMsgID)  
      java.lang.String CreateSessionEx​(java.lang.String l, java.lang.String p, java.lang.String newP, java.lang.String projectDSSID, StringWrapper regionalOptions, boolean resolveRegionalOptionsOnly, java.lang.String clientID, java.lang.String clientVersion, int authMode, int sessionFlags, java.lang.String extraParams, java.lang.String accessToken, java.lang.String lastMsgID)  
      java.lang.String CreateSessionEx​(java.lang.String l, java.lang.String p, java.lang.String newP, java.lang.String projectDSSID, StringWrapper regionalOptions, boolean resolveRegionalOptionsOnly, java.lang.String clientID, java.lang.String clientVersion, int authMode, int sessionFlags, java.lang.String extraParams, java.lang.String accessToken, java.lang.String lastMsgID, java.lang.String confSessionID)
      * This method is used for Intelligence Server session creation.
      java.lang.String CreateSessionEx​(java.lang.String l, java.lang.String p, java.lang.String newP, java.lang.String projectDSSID, java.lang.String projectName, StringWrapper regionalOptions, boolean resolveRegionalOptionsOnly, int local, java.lang.String clientID, java.lang.String clientVersion, int authMode, int sessionFlags, java.lang.String extraParams, java.lang.String accessToken, java.lang.String lastMsgID, java.lang.String confSessionID)  
      java.lang.String CreateSessionEx​(java.lang.String usherEmail, java.lang.String l, java.lang.String p, java.lang.String newP, java.lang.String projectDSSID, StringWrapper regionalOptions, boolean resolveRegionalOptionsOnly, java.lang.String clientID, int authMode, int sessionFlags, java.lang.String extraParams, java.lang.String accessToken)
      This method is used for Intelligence Server session creation, and if successful returns a session ID.
      int getApplicationType()
      Returns the current setting for application type.
      IDSSXMLAppSchemaServer getAppSchemaServer()  
      IDSSXMLClusterAdmin getClusterAdmin()  
      IDSSXMLConfigServer getConfigServer()
      Returns the IDSSXMLConfigServer object.
      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.
      IDSSXMLDocumentServer getDocumentServer()
      Returns an instance of the Document Server.
      IDSSXMLElementServer getElementServer()
      Returns an instance of the Element Server
      IDSSXMLInbox getInbox()
      Returns an instance of the Inbox interface
      java.util.Map<IDSSXMLSessionId,​IDSSXMLServerSession.ActionTime> getLastActionTimeBySession​(java.util.List<IDSSXMLSessionId> iSessionID)  
      java.lang.String getLDAPDistinguishedName()
      Get LDAP Distinguished Name for Single Sign on authentication mode
      java.lang.String GetLicensingInfo​(java.lang.String sessionID, int flags, IntWrapper iwStatus)
      This method is used to retrieve the licensing information for the user with the given session ID.
      IDSSXMLMDXCubeServer getMDXCubeServer()  
      IDSSXMLObjectServer getObjectServer()
      Returns an instance of the Object Server.
      IDSSXMLOneTierServer getOneTieeServer()  
      IDSSXMLPerfCounterServer getPerfCounterServer​(java.lang.String sessionID, java.lang.String serverName)
      Returns the IDSSXMLPerfCounterServer object.
      IDSSXMLPerfCounterServer getPerfCounterServer​(java.lang.String sessionID, java.lang.String serverName, int port)
      Returns the IDSSXMLPerfCounterServer object.
      int getPort()
      Returns the port that the Web API will connect to the Intelligence Server on.
      IDSSXMLSessionId.IConfigSessionId GetPreferredConfigSession​(IDSSXMLSessionId.IMasterSessionId iMasterSessionId)  
      java.lang.String GetProjectLocales​(java.lang.String projectDSSID)
      Returns the locales supported by a given project.
      java.lang.String GetProjectLocales​(java.lang.String sessionID, java.lang.String projectDSSID)
      Returns the locales supported by a given project for a given user.
      java.lang.String GetProjects​(int flags)
      Used to get the list of projects on the MSTR Server, which this session is connected to.
      java.lang.String GetProjectsInCluster​(int flags)
      Used to get the list of projects loaded in the cluster.
      java.lang.String GetProjectsInCluster​(java.lang.String regionalOptions, int flags)
      Used to get the list of projects loaded in the cluster.
      java.lang.String GetProjectsInCluster​(java.lang.String regionalOptions, int flags, int[] statusFilter)
      Used to get the list of projects loaded in the cluster.
      int getRegularWorkingSetSize()
      Returns the regular working set size for report/document execution.
      IDSSXMLReportServer getReportServer()
      Returns an instance of the Report Server.
      java.lang.String getRestApiUrl​(IDSSXMLServerSession.RestApiUrlParams restApiUrlParams)
      Get Rest API URL by providing an instance of IDSSXMLServerSession.RestApiUrlParams
      java.lang.String getRestApiUrl​(java.lang.String sessionID)
      Get the REST URL of I-Server without SessionID
      IDSSXMLScheduleServer getScheduleServer()
      Returns an instance of the Schedule Server.
      int getSearchWorkingSetSize()
      Returns the currently active value for search working set size.
      IDSSXMLServerAdmin getServerAdmin()
      Returns an instance of server admin.
      java.lang.String GetServerLocales()
      Returns the locales supported by the Intelligence Server.
      java.lang.String getServerName()
      Returns the name of the Intelligence Server that this object is connected to/will connect to.
      java.lang.String GetServerProperties​(java.lang.String options)
      This is a sessionless call that retrieves various repository settings.
      java.lang.String GetServerSettings()  
      java.lang.String getSessionKey()
      Get session key for mobile encryption
      IDSSXMLSubscriptionServer getSubscriptionServer()  
      java.lang.String getTrustToken()
      Get Trust Token for Single Sign on authentication mode
      IDSSXMLUserProjectPrivilege GetUserAllPrivilege​(java.lang.String sessionID, java.lang.String projectId, boolean inCluster)
      This method returns user privilege information.
      void GetUserInfo​(java.lang.String sessionID, StringWrapper userId, StringWrapper u, StringWrapper otherInfo)
      Given a session ID, this method returns the user name, ID and other information on the Intelligence Server.
      IDSSXMLUserPrivilege GetUserPrivilege​(java.lang.String sessionID)
      This method returns user privilege information.
      java.lang.String GetUserPrivilegeXML​(java.lang.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.
      java.lang.String GetUserProjects​(java.lang.String l, java.lang.String p, int authMode, int flags)
      Returns the collection of projects loaded in the Intelligence Server that the given user has access to.
      java.lang.String GetUserProjectsInCluster​(java.lang.String sessionID, int flags, java.lang.String regionalOptions)
      Returns the collection of projects loaded in the cluster that the given user has access to.
      java.lang.String GetUserProjectsInCluster​(java.lang.String sessionID, int flags, java.lang.String regionalOptions, int[] statusFilter)
      Returns the collection of projects loaded in the cluster that the given user has access to.
      java.lang.String GetUserProjectsInCluster​(java.lang.String l, java.lang.String p, int authMode, int flags)
      Returns the collection of projects loaded in the cluster that the given user has access to.
      java.lang.String GetUserProjectsInCluster​(java.lang.String l, java.lang.String p, int authMode, int flags, java.lang.String regionalOptions)
      Returns the collection of projects loaded in the cluster that the given user has access to.
      java.lang.String GetUserProjectsInCluster​(java.lang.String l, java.lang.String p, int authMode, int flags, java.lang.String regionalOptions, int[] statusFilter)
      Returns the collection of projects loaded in the cluster that the given user has access to.
      java.lang.String GetWebAPIVersion()
      Returns the Web API Version.
      void InitRepository​(java.lang.String DSN, java.lang.String l, java.lang.String p, java.lang.String ODBCSettings, java.lang.String MDTablePrefix, java.lang.String MDTempTablePrefix, int databaseType, int initMode, int locale)
      This method will initialize the metadata repository of a server.
      void modifySession​(java.lang.String sessionID, java.lang.Integer sessionFlags, java.lang.Integer regularWorkingSet, java.lang.Integer searchWorkingSet)
      Modifies various session creation parameters after a session has been created.
      void putApplicationType​(int _applicationType)
      Sets the application type that will be sent to the I-Server when creating a session.
      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.
      void putPort​(int portNum)
      Sets the socket port used to interact with the Intelligence Server.
      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.
      void putSearchWorkingSetSize​(int searchWorkingSetSize)
      Sets the search working set size.
      void putServerName​(java.lang.String serverName)
      Sets the server name of the MSTR Intelligence Server that this ServerSession will connect to.
      void refreshSQLEngineSchema​(java.lang.String sessionID)
      Refresh SQL Engine schema for all nodes in the connected cluster.
      java.lang.String RegisterTrustedWebServer​(java.lang.String sessionID, java.lang.String identifier)
      Create Trust Relationship between Web Server and Intelligence Server.
      void removeTrustedWebServer​(java.lang.String sessionID, java.lang.String tokenString, java.lang.String serverName)
      Delete Trust Relationship between Web Server and Intelligence Server.
      byte[] sendBinaryXMLCommand​(java.lang.String xmlCommand, java.lang.String sessionID, IntWrapper status, StringWrapper msgID)
      Sends a sessioned XML API call to IServer and retrieves the results as binary
      byte[] sendBinaryXMLCommand​(java.lang.String xmlCommand, java.lang.String sessionID, java.io.InputStream data, long dataLength, IntWrapper status, StringWrapper msgID)  
      java.lang.String sendXMLCommand​(java.lang.String xmlCommand, java.lang.String sessionID, IntWrapper status, StringWrapper msgID)
      Sends a sessioned XML API call to IServer and retrieves the results as a String
      java.lang.String sendXMLCommand​(java.lang.String xmlCommand, java.lang.String sessionID, java.io.InputStream data, long dataLength, int requestTimeout, IntWrapper status, StringWrapper msgID)  
      java.lang.String sendXMLCommand​(java.lang.String xmlCommand, java.lang.String sessionID, java.io.InputStream data, long dataLength, int requestTimeout, IntWrapper status, StringWrapper msgID, IDSSXMLServerSession.FAILOVER attemptFailover)  
      java.lang.String sendXMLCommand​(java.lang.String xmlCommand, java.lang.String sessionID, java.io.InputStream data, long dataLength, IntWrapper status, StringWrapper msgID)  
      java.lang.String sendXMLCommand​(java.lang.String xmlCommand, java.lang.String sessionID, java.io.InputStream data, long dataLength, IntWrapper status, StringWrapper msgID, IDSSXMLServerSession.FAILOVER attemptFailover)  
      void setGSSCredential​(org.ietf.jgss.GSSCredential credential)
      Set GSS Delegation Credential for Kerberos Authentication mode
      void setLDAPDistinguishedName​(java.lang.String LDAPDN)
      Set LDAP Distinguished Name for Single Sign on authentication mode
      void setSessionKey​(java.lang.String sessionKey)
      Set session key for mobile encryption
      void setTrustToken​(java.lang.String token)
      Set Trust Token for Single Sign on authentication mode
      void setUserPrincipal​(java.security.Principal userPrincipal)
      Set user Principal for Windows Authentication (NTLM) mode
    • Field Detail

      • DEFAULT_CreateSession_login

        static final java.lang.String DEFAULT_CreateSession_login
        Default value for the login parameter of the CreateSession method
        See Also:
        Constant Field Values
      • DEFAULT_CreateSession_passwd

        static final java.lang.String DEFAULT_CreateSession_passwd
        Default value for the passwd parameter of the CreateSession method
        See Also:
        Constant Field Values
      • DEFAULT_CreateSession_newPasswd

        static final java.lang.String DEFAULT_CreateSession_newPasswd
        Default value for the newPasswd parameter of the CreateSession method
        See Also:
        Constant Field Values
      • DEFAULT_CreateSession_projectName

        static final java.lang.String DEFAULT_CreateSession_projectName
        Default value for the projectName parameter of the CreateSession method
        See Also:
        Constant Field Values
      • DEFAULT_CreateSession_locale

        static final int DEFAULT_CreateSession_locale
        Default value for the locale parameter of the CreateSession method
        See Also:
        Constant Field Values
      • DEFAULT_CreateSession_clientID

        static final java.lang.String DEFAULT_CreateSession_clientID
        Default value for the clientID parameter of the CreateSession method
        See Also:
        Constant Field Values
      • DEFAULT_CreateSession_authMode

        static final int DEFAULT_CreateSession_authMode
        Default value for the authMode parameter of the CreateSession method
        See Also:
        Constant Field Values
      • DEFAULT_CreateSession_sessionFlags

        static final int DEFAULT_CreateSession_sessionFlags
        Default value for the sessionFlags parameter of the CreateSession method
        See Also:
        Constant Field Values
      • DEFAULT_GetProjects_flags

        static final int DEFAULT_GetProjects_flags
        Default value for the flags parameter of the GetProjects method
        See Also:
        Constant Field Values
      • DEFAULT_CloseSession_sessionFlags

        static final int DEFAULT_CloseSession_sessionFlags
        Default value for the sessionFlags parameter of the CloseSession method
        See Also:
        Constant Field Values
      • DEFAULT_putRegularWorkingSetSize_regularWorkingSetSize

        static final int DEFAULT_putRegularWorkingSetSize_regularWorkingSetSize
        Default value for the regularWorkingSetSize parameter of the putRegularWorkingSetSize method
        See Also:
        Constant Field Values
      • DEFAULT_putSearchWorkingSetSize_searchWorkingSetSize

        static final int DEFAULT_putSearchWorkingSetSize_searchWorkingSetSize
        Default value for the searchWorkingSetSize parameter of the putSearchWorkingSetSize method
        See Also:
        Constant Field Values
    • Method Detail

      • ChangePassword

        void ChangePassword​(java.lang.String sessionID,
                            java.lang.String oldP,
                            java.lang.String newP)
                     throws MSTRWebAPIException
        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.
        oldP - The old password.
        newP - The new password.
        Throws:
        MSTRWebAPIException - Signals an error condition.
      • CheckVersion

        boolean CheckVersion​(StringWrapper swXMLAPIVersion,
                             StringWrapper swServerVersion)
                      throws MSTRWebAPIException
        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.
      • GetWebAPIVersion

        java.lang.String GetWebAPIVersion()
        Returns the Web API Version.
        Returns:
        the Web API version.
        Since:
        MicroStrategy Web 7.5.1
      • CloseSession

        void CloseSession​(java.lang.String sessionID,
                          int sessionFlags)
                   throws MSTRWebAPIException
        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.
      • CreateSession

        java.lang.String CreateSession​(java.lang.String l,
                                       java.lang.String p,
                                       java.lang.String newP,
                                       java.lang.String projectName,
                                       int locale,
                                       java.lang.String clientID,
                                       int authMode,
                                       int sessionFlags)
                                throws MSTRWebAPIException
        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=""]
        p - The user's password. [Default=""]
        newP - 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.
      • CreateSessionEx

        java.lang.String CreateSessionEx​(java.lang.String l,
                                         java.lang.String p,
                                         java.lang.String newP,
                                         java.lang.String projectDSSID,
                                         StringWrapper regionalOptions,
                                         boolean resolveRegionalOptionsOnly,
                                         java.lang.String clientID,
                                         int authMode,
                                         int sessionFlags)
                                  throws MSTRWebAPIException
        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:
        l - The user's login name. [Default=""]
        p - The user's password. [Default=""]
        newP - 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.
        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]
        resolveRegionalOptionsOnly - if true, no session is actually created, only locales are resolved
        Returns:
        A valid Session ID to the Microstrategy Intelligence Server and Project specified.
        Throws:
        MSTRWebAPIException
        Since:
        MicroStrategy Web 9.0.0
      • CreateSessionEx

        java.lang.String CreateSessionEx​(WebUserEntity oUserEntity,
                                         java.lang.String p,
                                         java.lang.String newP,
                                         java.lang.String projectDSSID,
                                         StringWrapper regionalOptions,
                                         boolean resolveRegionalOptionsOnly,
                                         java.lang.String clientID,
                                         int authMode,
                                         int sessionFlags)
                                  throws MSTRWebAPIException
        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.
        p - The user's password. [Default=""]
        newP - 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.
        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]
        resolveRegionalOptionsOnly - if true, no session is actually created, only locales are resolved
        Returns:
        A valid Session ID to the Microstrategy Intelligence Server and Project specified.
        Throws:
        MSTRWebAPIException
        Since:
        MicroStrategy Web 9.0.0
      • CreateSessionEx

        java.lang.String CreateSessionEx​(java.lang.String l,
                                         java.lang.String p,
                                         java.lang.String newP,
                                         java.lang.String projectDSSID,
                                         java.lang.String projectName,
                                         StringWrapper regionalOptions,
                                         boolean resolveRegionalOptionsOnly,
                                         int local,
                                         java.lang.String clientID,
                                         java.lang.String clientVersion,
                                         int authMode,
                                         int sessionFlags,
                                         java.lang.String extraParams,
                                         java.lang.String accessToken,
                                         java.lang.String lastMsgID,
                                         java.lang.String confSessionID)
                                  throws MSTRWebAPIException
        Throws:
        MSTRWebAPIException
      • getDocumentServer

        IDSSXMLDocumentServer getDocumentServer()
        Returns an instance of the Document Server.
        Returns:
        An instance of the document server.
      • getElementServer

        IDSSXMLElementServer getElementServer()
        Returns an instance of the Element Server
        Returns:
        An instance of the element server object.
      • getInbox

        IDSSXMLInbox getInbox()
        Returns an instance of the Inbox interface
        Returns:
        An instance of the inbox interface object.
      • getObjectServer

        IDSSXMLObjectServer getObjectServer()
        Returns an instance of the Object Server.
        Returns:
        An Object Server instance.
      • getPort

        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.
      • GetProjects

        java.lang.String GetProjects​(int flags)
                              throws MSTRWebAPIException
        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.
      • GetProjectsInCluster

        java.lang.String GetProjectsInCluster​(int flags)
                                       throws MSTRWebAPIException
        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.
        Since:
        MicroStrategy Web 8.0.0
      • GetProjectsInCluster

        java.lang.String GetProjectsInCluster​(java.lang.String regionalOptions,
                                              int flags)
                                       throws MSTRWebAPIException
        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.
        Since:
        MicroStrategy Web 9.0.0
      • GetProjectsInCluster

        java.lang.String GetProjectsInCluster​(java.lang.String regionalOptions,
                                              int flags,
                                              int[] statusFilter)
                                       throws MSTRWebAPIException
        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.
      • GetProjectLocales

        java.lang.String GetProjectLocales​(java.lang.String projectDSSID)
                                    throws MSTRWebAPIException
        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
        Since:
        MicroStrategy Web 9.0.0
      • GetProjectLocales

        java.lang.String GetProjectLocales​(java.lang.String sessionID,
                                           java.lang.String projectDSSID)
                                    throws MSTRWebAPIException
        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
      • GetServerLocales

        java.lang.String GetServerLocales()
                                   throws MSTRWebAPIException
        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
        Since:
        MicroStrategy Web 9.0.0
      • getRegularWorkingSetSize

        int getRegularWorkingSetSize()
        Returns the regular working set size for report/document execution.
        Returns:
        The value of the regular working set size.
      • getReportServer

        IDSSXMLReportServer getReportServer()
        Returns an instance of the Report Server.
        Returns:
        A Report Server instance.
      • getSearchWorkingSetSize

        int getSearchWorkingSetSize()
        Returns the currently active value for search working set size.
        Returns:
        The value of the search working set size.
      • getServerName

        java.lang.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.
      • GetUserInfo

        void GetUserInfo​(java.lang.String sessionID,
                         StringWrapper userId,
                         StringWrapper u,
                         StringWrapper otherInfo)
                  throws MSTRWebAPIException
        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.
        u - 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..
      • GetUserPrivilege

        IDSSXMLUserPrivilege GetUserPrivilege​(java.lang.String sessionID)
                                       throws MSTRWebAPIException
        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.
      • GetUserPrivilegeXML

        java.lang.String GetUserPrivilegeXML​(java.lang.String sessionID)
                                      throws MSTRWebAPIException
        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
        Since:
        MicroStrategy Web 8.1.1
      • putPort

        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.
      • putRegularWorkingSetSize

        void putRegularWorkingSetSize​(int regularWorkingSetSize)
                               throws MSTRWebAPIException
        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.
      • putSearchWorkingSetSize

        void putSearchWorkingSetSize​(int searchWorkingSetSize)
                              throws MSTRWebAPIException
        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.
      • putServerName

        void putServerName​(java.lang.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.
      • getScheduleServer

        IDSSXMLScheduleServer getScheduleServer()
        Returns an instance of the Schedule Server.
        Returns:
        An instance of IDSSXMLScheduleServer.
      • GetUserProjects

        java.lang.String GetUserProjects​(java.lang.String l,
                                         java.lang.String p,
                                         int authMode,
                                         int flags)
                                  throws MSTRWebAPIException
        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 l to.
        Parameters:
        l - The user's login name.
        p - 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.
      • GetUserProjectsInCluster

        java.lang.String GetUserProjectsInCluster​(java.lang.String l,
                                                  java.lang.String p,
                                                  int authMode,
                                                  int flags)
                                           throws MSTRWebAPIException
        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:
        l - The user's login name.
        p - 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.
        Since:
        MicroStrategy Web 8.0.0
      • GetUserProjectsInCluster

        java.lang.String GetUserProjectsInCluster​(java.lang.String l,
                                                  java.lang.String p,
                                                  int authMode,
                                                  int flags,
                                                  java.lang.String regionalOptions)
                                           throws MSTRWebAPIException
        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:
        l - The user's login name.
        p - The user's password.
        authMode - The authorization mode to use upon logging into the server. This value comes from EnumDSSXMLAuthModes.
        regionalOptions - localization settings.
        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.
        Since:
        MicroStrategy Web 9.0.0
      • GetUserProjectsInCluster

        java.lang.String GetUserProjectsInCluster​(java.lang.String l,
                                                  java.lang.String p,
                                                  int authMode,
                                                  int flags,
                                                  java.lang.String regionalOptions,
                                                  int[] statusFilter)
                                           throws MSTRWebAPIException
        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:
        l - The user's login name.
        p - The user's password.
        authMode - The authorization mode to use upon logging into the server. This value comes from EnumDSSXMLAuthModes.
        regionalOptions - localization settings.
        flags - This parameter is not used at this time.
        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.
        Since:
        MicroStrategy Web 9.0.0
      • GetUserProjectsInCluster

        java.lang.String GetUserProjectsInCluster​(java.lang.String sessionID,
                                                  int flags,
                                                  java.lang.String regionalOptions)
                                           throws MSTRWebAPIException
        Returns the collection of projects loaded in the cluster that the given user has access to.
        Parameters:
        sessionID - session ID of user.
        regionalOptions - localization settings.
        flags - This parameter is not used at this time.
        Throws:
        MSTRWebAPIException
        See Also:
        GetUserProjectsInCluster(String, String, int, int, String)
      • GetUserProjectsInCluster

        java.lang.String GetUserProjectsInCluster​(java.lang.String sessionID,
                                                  int flags,
                                                  java.lang.String regionalOptions,
                                                  int[] statusFilter)
                                           throws MSTRWebAPIException
        Returns the collection of projects loaded in the cluster that the given user has access to.
        Parameters:
        sessionID - session ID of user.
        regionalOptions - localization settings.
        flags - This parameter is not used at this time.
        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.
        See Also:
        GetUserProjectsInCluster(String, String, int, int, String)
      • putCreateNewConnection

        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.
      • getCreateNewConnection

        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.
      • getPerfCounterServer

        IDSSXMLPerfCounterServer getPerfCounterServer​(java.lang.String sessionID,
                                                      java.lang.String serverName,
                                                      int port)
                                               throws MSTRWebAPIException
        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.
        port - The server port
        Returns:
        A IDSSXMLPerfCounterServer, which can be used to get performance information from the Intelligence Server.
        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.
      • getPerfCounterServer

        IDSSXMLPerfCounterServer getPerfCounterServer​(java.lang.String sessionID,
                                                      java.lang.String serverName)
                                               throws MSTRWebAPIException
        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:
        A IDSSXMLPerfCounterServer, which can be used to get performance information from the Intelligence Server.
        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.
        Since:
        MicroStrategy Web 7.5.2
      • GetLicensingInfo

        java.lang.String GetLicensingInfo​(java.lang.String sessionID,
                                          int flags,
                                          IntWrapper iwStatus)
                                   throws MSTRWebAPIException
        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.
        Since:
        MicroStrategy Web 7.5.0
      • InitRepository

        void InitRepository​(java.lang.String DSN,
                            java.lang.String l,
                            java.lang.String p,
                            java.lang.String ODBCSettings,
                            java.lang.String MDTablePrefix,
                            java.lang.String MDTempTablePrefix,
                            int databaseType,
                            int initMode,
                            int locale)
                     throws MSTRWebAPIException
        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.
        l - The login to the database.
        p - 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.
        Since:
        MicroStrategy Web 7.5.2
      • putApplicationType

        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.
        Since:
        MicroStrategy Web 7.5.2
      • getApplicationType

        int getApplicationType()
        Returns the current setting for application type.
        Returns:
        A value from EnumDSSXMLApplicationType, which will be sent when creating a session on an Intelligence Server.
        Since:
        MicroStrategy Web 7.5.2
      • getServerAdmin

        IDSSXMLServerAdmin getServerAdmin()
        Returns an instance of server admin.
        Returns:
        IDSSXMLServerAdmin
        Since:
        MicroStrategy Web 8.0.0
      • GetUserAllPrivilege

        IDSSXMLUserProjectPrivilege GetUserAllPrivilege​(java.lang.String sessionID,
                                                        java.lang.String projectId,
                                                        boolean inCluster)
                                                 throws MSTRWebAPIException
        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.
        Since:
        MicroStrategy Web 9.0.0
      • RegisterTrustedWebServer

        java.lang.String RegisterTrustedWebServer​(java.lang.String sessionID,
                                                  java.lang.String identifier)
                                           throws MSTRWebAPIException
        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
        Throws:
        MSTRWebAPIException
        Since:
        MicroStrategy Web 9.0.0
      • removeTrustedWebServer

        void removeTrustedWebServer​(java.lang.String sessionID,
                                    java.lang.String tokenString,
                                    java.lang.String serverName)
                             throws MSTRWebAPIException
        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
        Throws:
        MSTRWebAPIException
        Since:
        MicroStrategy Web 9.0.0
      • setTrustToken

        void setTrustToken​(java.lang.String token)
        Set Trust Token for Single Sign on authentication mode
        Parameters:
        token - Trust Token for Single Sign on authentication mode
        Since:
        MicroStrategy Web 9.0.0
      • getTrustToken

        java.lang.String getTrustToken()
        Get Trust Token for Single Sign on authentication mode
        Returns:
        Trust Token for Single Sign on authentication mode
        Since:
        MicroStrategy Web 9.0.0
      • getLDAPDistinguishedName

        java.lang.String getLDAPDistinguishedName()
        Get LDAP Distinguished Name for Single Sign on authentication mode
        Returns:
        LDAP Distinguished Name for Single Sign on authentication mode
        Since:
        MicroStrategy Web 9.0.0
      • setLDAPDistinguishedName

        void setLDAPDistinguishedName​(java.lang.String LDAPDN)
        Set LDAP Distinguished Name for Single Sign on authentication mode
        Parameters:
        LDAPDN - LDAP Distinguished Name for Single Sign on authentication mode
        Since:
        MicroStrategy Web 9.0.0
      • refreshSQLEngineSchema

        void refreshSQLEngineSchema​(java.lang.String sessionID)
                             throws MSTRWebAPIException
        Refresh SQL Engine schema for all nodes in the connected cluster. This is required when COM schema is updated in MD
        Throws:
        MSTRWebAPIException
      • GetServerProperties

        java.lang.String GetServerProperties​(java.lang.String options)
                                      throws MSTRWebAPIException
        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
        Since:
        MicroStrategy Web 9.0.0
      • CreateProject

        void CreateProject​(java.lang.String sessionId,
                           java.lang.String name,
                           java.lang.String scriptPath,
                           java.util.Locale primaryLocale,
                           java.util.Locale[] supportedLocales)
                    throws MSTRWebAPIException
        Adds a project to the current IServer
        Parameters:
        sessionId - session id
        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
        Throws:
        MSTRWebAPIException
        Since:
        MicroStrategy Web 9.0.0
      • CreateProject

        void CreateProject​(java.lang.String sessionId,
                           java.lang.String name,
                           java.lang.String scriptPath,
                           java.util.Locale primaryLocale,
                           java.util.Locale[] supportedLocales,
                           int flag)
                    throws MSTRWebAPIException
        Adds a project to the current IServer
        Parameters:
        sessionId - session id
        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
        Throws:
        MSTRWebAPIException
      • CreateProject

        void CreateProject​(java.lang.String sessionID,
                           java.lang.String name,
                           java.lang.String description,
                           java.lang.String scriptPath,
                           java.util.Locale primaryLocale,
                           java.util.Locale[] supportedLocales,
                           int flag)
                    throws MSTRWebAPIException
        Adds a project to the current IServer
        Parameters:
        sessionID - session id
        name - String Name of the new project
        description - String Description 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
        Throws:
        MSTRWebAPIException
      • modifySession

        void modifySession​(java.lang.String sessionID,
                           java.lang.Integer sessionFlags,
                           java.lang.Integer regularWorkingSet,
                           java.lang.Integer searchWorkingSet)
                    throws MSTRWebAPIException
        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
        Since:
        MicroStrategy Web 9.0.0
      • setGSSCredential

        void setGSSCredential​(org.ietf.jgss.GSSCredential credential)
        Set GSS Delegation Credential for Kerberos Authentication mode
        Parameters:
        credential - GSS Delegation Credential for Kerberos Authentication mode
        Since:
        MicroStrategy Web 9.0.1
      • setUserPrincipal

        void setUserPrincipal​(java.security.Principal userPrincipal)
        Set user Principal for Windows Authentication (NTLM) mode
        Parameters:
        userPrincipal - authenticated user principal object
      • sendXMLCommand

        java.lang.String sendXMLCommand​(java.lang.String xmlCommand,
                                        java.lang.String sessionID,
                                        IntWrapper status,
                                        StringWrapper msgID)
                                 throws MSTRWebAPIException
        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
        Throws:
        MSTRWebAPIException
      • sendXMLCommand

        java.lang.String sendXMLCommand​(java.lang.String xmlCommand,
                                        java.lang.String sessionID,
                                        java.io.InputStream data,
                                        long dataLength,
                                        IntWrapper status,
                                        StringWrapper msgID)
                                 throws MSTRWebAPIException
        Parameters:
        data - InputStream containing binary portion of command
        dataLength - long specifying length of binary data (in bytes)
        Throws:
        MSTRWebAPIException
      • sendXMLCommand

        java.lang.String sendXMLCommand​(java.lang.String xmlCommand,
                                        java.lang.String sessionID,
                                        java.io.InputStream data,
                                        long dataLength,
                                        IntWrapper status,
                                        StringWrapper msgID,
                                        IDSSXMLServerSession.FAILOVER attemptFailover)
                                 throws MSTRWebAPIException
        Parameters:
        data - InputStream containing binary portion of command
        dataLength - long specifying length of binary data (in bytes)
        attemptFailover - will either attempt a failover upon failure or not
        Throws:
        MSTRWebAPIException
      • sendXMLCommand

        java.lang.String sendXMLCommand​(java.lang.String xmlCommand,
                                        java.lang.String sessionID,
                                        java.io.InputStream data,
                                        long dataLength,
                                        int requestTimeout,
                                        IntWrapper status,
                                        StringWrapper msgID)
                                 throws MSTRWebAPIException
        Parameters:
        data - InputStream containing binary portion of command
        requestTimeout - the alternative request timeout value to override the default session timeout setting
        dataLength - long specifying length of binary data (in bytes)
        Throws:
        MSTRWebAPIException
      • sendXMLCommand

        java.lang.String sendXMLCommand​(java.lang.String xmlCommand,
                                        java.lang.String sessionID,
                                        java.io.InputStream data,
                                        long dataLength,
                                        int requestTimeout,
                                        IntWrapper status,
                                        StringWrapper msgID,
                                        IDSSXMLServerSession.FAILOVER attemptFailover)
                                 throws MSTRWebAPIException
        Parameters:
        data - InputStream containing binary portion of command
        requestTimeout - the alternative request timeout value to override the default session timeout setting
        dataLength - long specifying length of binary data (in bytes)
        attemptFailover - will either attempt a failover upon failure or not
        Throws:
        MSTRWebAPIException
      • sendBinaryXMLCommand

        byte[] sendBinaryXMLCommand​(java.lang.String xmlCommand,
                                    java.lang.String sessionID,
                                    IntWrapper status,
                                    StringWrapper msgID)
                             throws MSTRWebAPIException
        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
        Throws:
        MSTRWebAPIException
      • sendBinaryXMLCommand

        byte[] sendBinaryXMLCommand​(java.lang.String xmlCommand,
                                    java.lang.String sessionID,
                                    java.io.InputStream data,
                                    long dataLength,
                                    IntWrapper status,
                                    StringWrapper msgID)
                             throws MSTRWebAPIException
        Parameters:
        data - InputStream containing binary portion of command
        dataLength - long specifying length of binary data (in bytes)
        Throws:
        MSTRWebAPIException
      • setSessionKey

        void setSessionKey​(java.lang.String sessionKey)
        Set session key for mobile encryption
        Parameters:
        sessionKey - Session key for mobile encryption
      • getSessionKey

        java.lang.String getSessionKey()
        Get session key for mobile encryption
        Returns:
        Session key for mobile encryption
      • CreateSessionEx

        java.lang.String CreateSessionEx​(java.lang.String usherEmail,
                                         java.lang.String l,
                                         java.lang.String p,
                                         java.lang.String newP,
                                         java.lang.String projectDSSID,
                                         StringWrapper regionalOptions,
                                         boolean resolveRegionalOptionsOnly,
                                         java.lang.String clientID,
                                         int authMode,
                                         int sessionFlags,
                                         java.lang.String extraParams,
                                         java.lang.String accessToken)
                                  throws MSTRWebAPIException
        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>
        Parameters:
        usherEmail -
        l -
        p -
        newP -
        projectDSSID -
        regionalOptions -
        resolveRegionalOptionsOnly -
        clientID -
        authMode -
        sessionFlags -
        extraParams -
        accessToken -
        Returns:
        session ID (or Usher response XML)
        Throws:
        MSTRWebAPIException
      • CreateSession

        java.lang.String CreateSession​(java.lang.String l,
                                       java.lang.String p,
                                       java.lang.String newP,
                                       java.lang.String projectName,
                                       int locale,
                                       java.lang.String clientID,
                                       int authMode,
                                       int sessionFlags,
                                       java.lang.String extraParams)
                                throws MSTRWebAPIException
        Throws:
        MSTRWebAPIException
      • CreateSession

        java.lang.String CreateSession​(java.lang.String l,
                                       java.lang.String p,
                                       java.lang.String newP,
                                       java.lang.String projectName,
                                       int locale,
                                       java.lang.String client,
                                       int authMode,
                                       int sessionFlags,
                                       java.lang.String extraParams,
                                       java.lang.String confSessionID)
                                throws MSTRWebAPIException
        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 EnumDSSXMLAuthModes.DssXmlAuthSessionID.
        Parameters:
        l -
        p -
        newP -
        projectName -
        locale -
        client -
        authMode -
        sessionFlags -
        extraParams -
        confSessionID -
        Returns:
        Throws:
        MSTRWebAPIException
      • CreateSessionEx

        java.lang.String CreateSessionEx​(java.lang.String l,
                                         java.lang.String p,
                                         java.lang.String newP,
                                         java.lang.String projectDSSID,
                                         StringWrapper regionalOptions,
                                         boolean resolveRegionalOptionsOnly,
                                         java.lang.String clientID,
                                         int authMode,
                                         int sessionFlags,
                                         java.lang.String extraParams)
                                  throws MSTRWebAPIException
        Throws:
        MSTRWebAPIException
      • CreateSessionEx

        java.lang.String CreateSessionEx​(java.lang.String l,
                                         java.lang.String p,
                                         java.lang.String newP,
                                         java.lang.String projectDSSID,
                                         StringWrapper regionalOptions,
                                         boolean resolveRegionalOptionsOnly,
                                         java.lang.String clientID,
                                         int authMode,
                                         int sessionFlags,
                                         java.lang.String extraParams,
                                         java.lang.String accessToken)
                                  throws MSTRWebAPIException
        Throws:
        MSTRWebAPIException
      • CreateSessionEx

        java.lang.String CreateSessionEx​(java.lang.String l,
                                         java.lang.String p,
                                         java.lang.String newP,
                                         java.lang.String projectDSSID,
                                         StringWrapper regionalOptions,
                                         boolean resolveRegionalOptionsOnly,
                                         java.lang.String clientID,
                                         int authMode,
                                         int sessionFlags,
                                         java.lang.String extraParams,
                                         java.lang.String accessToken,
                                         java.lang.String lastMsgID)
                                  throws MSTRWebAPIException
        Throws:
        MSTRWebAPIException
      • CreateSessionEx

        java.lang.String CreateSessionEx​(java.lang.String l,
                                         java.lang.String p,
                                         java.lang.String newP,
                                         java.lang.String projectDSSID,
                                         StringWrapper regionalOptions,
                                         boolean resolveRegionalOptionsOnly,
                                         java.lang.String clientID,
                                         java.lang.String clientVersion,
                                         int authMode,
                                         int sessionFlags,
                                         java.lang.String extraParams,
                                         java.lang.String accessToken,
                                         java.lang.String lastMsgID)
                                  throws MSTRWebAPIException
        Throws:
        MSTRWebAPIException
      • CreateSessionEx

        java.lang.String CreateSessionEx​(java.lang.String l,
                                         java.lang.String p,
                                         java.lang.String newP,
                                         java.lang.String projectDSSID,
                                         StringWrapper regionalOptions,
                                         boolean resolveRegionalOptionsOnly,
                                         java.lang.String clientID,
                                         java.lang.String clientVersion,
                                         int authMode,
                                         int sessionFlags,
                                         java.lang.String extraParams,
                                         java.lang.String accessToken,
                                         java.lang.String lastMsgID,
                                         java.lang.String confSessionID)
                                  throws MSTRWebAPIException
        * 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 EnumDSSXMLAuthModes.DssXmlAuthSessionID.
        Parameters:
        l -
        p -
        newP -
        projectDSSID -
        regionalOptions -
        resolveRegionalOptionsOnly -
        clientID -
        clientVersion -
        authMode -
        sessionFlags -
        extraParams -
        accessToken -
        lastMsgID -
        confSessionID -
        Returns:
        Throws:
        MSTRWebAPIException
      • CreateMasterSession

        IDSSXMLSessionId.IMasterSessionId CreateMasterSession​(java.lang.String clientVersion,
                                                              java.lang.String usherEmail,
                                                              boolean useExt,
                                                              java.lang.String l,
                                                              java.lang.String uid,
                                                              java.lang.String p,
                                                              java.lang.String newP,
                                                              StringWrapper regionalOptions,
                                                              boolean resolveRegionalOptionsOnly,
                                                              int locale,
                                                              java.lang.String clientID,
                                                              int authMode,
                                                              int sessionFlags,
                                                              java.lang.String extraParams,
                                                              java.lang.String accessToken,
                                                              java.lang.String lastMsgId,
                                                              java.util.Optional<java.lang.String> iProjectIdOpt)
                                                       throws MSTRWebAPIException
        CreateMasterSession creates a Master Session Id to the Intelligence Server that is backed by the Jwt infrastructure so that single-sign-on (SSO) can work in in an asymmetric cluster. The returned value is a Configuration Session Id that can be used to make non-project related calls. The Configuration Session Id can be used to create Project Session Ids by calling CreateProjectSession
        Parameters:
        clientVersion -
        usherEmail -
        useExt -
        l -
        uid -
        p -
        newP -
        regionalOptions -
        resolveRegionalOptionsOnly -
        locale -
        clientID -
        authMode -
        sessionFlags -
        extraParams -
        accessToken -
        lastMsgId -
        Returns:
        Throws:
        MSTRWebAPIException
      • CreateConfigSession

        IDSSXMLSessionId.IConfigSessionId CreateConfigSession​(IDSSXMLSessionId.IMasterSessionId iMasterSessionId,
                                                              java.lang.String iMachineAddress,
                                                              int mMachinePort)
                                                       throws MSTRWebAPIException
        CreateConfigSession creates a Configuration Session Id to the specified Intelligence Server from the input Master Session Id. This login does not require other security parameters because the user was already authenticated when the Master Session Id was created. You must specify the machine info
        Parameters:
        iMasterSessionId - The Master Session Id created by CreateMasterSession
        iMachineAddress -
        mMachinePort -
        Returns:
        Throws:
        MSTRWebAPIException
      • CreateProjectSession

        IDSSXMLSessionId.IProjectSessionId CreateProjectSession​(IDSSXMLSessionId.IMasterSessionId iMasterSessionId,
                                                                java.lang.String iProjectId)
                                                         throws MSTRWebAPIException
        CreateProjectSession creates a Project Session Id to the Intelligence Server from the input Master Session Id. This login does not require other security parameters because the user was already authenticated when the Master Session Id was created. The project Id must be passed in.
        Notice how there is no mention of which machine in the cluster will be connected. CreateProjectSession will figure out the best IServer
        Parameters:
        iMasterSessionId - The Master Session Id created by CreateMasterSession
        iProjectId -
        Returns:
        Throws:
        MSTRWebAPIException
      • getRestApiUrl

        java.lang.String getRestApiUrl​(java.lang.String sessionID)
                                throws MSTRWebAPIException
        Get the REST URL of I-Server without SessionID
        Parameters:
        sessionID -
        Returns:
        XML String corresponding to REST URL.
        Throws:
        MSTRWebAPIException - Signals an error condition.