Package com.collabnet.ce.soap60.webservices.cemain

# Class CollabNetSoap

java.lang.Object
com.collabnet.ce.soap60.webservices.WebService
com.collabnet.ce.soap60.webservices.cemain.CollabNetSoap

All Implemented Interfaces:
  `ICollabNetSoap`

public class CollabNetSoap extends WebService implements ICollabNetSoap
The web service providing the core TeamForge functionality, such as authentication, project and membership information, etc.

Change History

Version 16.7

- login: Modified in 16.7 to allow case-insensitive user names during login, if the "ALLOW_CASE_INSENSITIVE_LOGIN" configuration variable in the site-options.conf file is set as true;
  Also, it restricts the length of the password to be less than the value of the configuration variable "MAX_PASSWORD_LENGTH" specified in the site-options.conf file; Users who already used a password longer than this limit have to reset their password either by using 'Forgot Password" link in the UI or by contacting TeamForge administrator.
- createUser: Modified in 16.7 to allow license type field to have multiple license with comma separated.
  Also, it restricts the length of the password to be less than the value of the configuration variable "MAX_PASSWORD_LENGTH" specified in the site-options.conf file.
- getUserData: getUserData supports list of license types in response;
  Also, it is modified in 16.7 to return the user object even for case-insensitive user names, if the "ALLOW_CASE_INSENSITIVE_LOGIN" configuration variable in the site-options.conf file is set as true.
- getUserData2: getUserData2 supports list of license types in response;
  Also, it is modified in 16.7 to return the user object even for case-insensitive user names, if the "ALLOW_CASE_INSENSITIVE_LOGIN" configuration variable in the site-options.conf file is set as true.
- setUserData: setUserData is modified to accept list of license types
- setUserData2: setUserData2 is modified to accept list of license types
- getUserList2: getUserList2 is modified to accept license type filter to have multiple licenses.
- doMandatoryPasswordChange: Modified in 16.7 to restrict the length of the password to be less than the value of the configuration variable "MAX_PASSWORD_LENGTH" specified in the site-options.conf file; Users who already used a password longer than this limit have to reset their password either by using 'Forgot Password" link in the UI or by contacting TeamForge administrator.
- changePassword: Modified in 16.7 to restrict the length of the password to be less than the value of the configuration variable "MAX_PASSWORD_LENGTH" specified in the site-options.conf file.

Version 8.2

- createProjectLinkedApp2: Added support for creation of project-level linked application with orchestrate source association.i
- getLinkedApplicationData2 Added support for getting linked application data with visible and tooltype fields.
- setLinkedApplicationData2 Added support for setting linked application data with visible (to hide or show linked app from menubar), tooltype fields and icon.
- listProjectLinkedApps2: Added support for listing of project-level linked applications with the visible and tooltype fields.

Version 8.0

- getUserList: Modified to fetch the list of users information with organization, alternate emails, locale and time zone details.
- getUserList2: Added new operation to fetch the list of users information with id, organization, alternate emails, locale and time zone details.
- setUserData2: Added new operation to update the user information with validations.
- getProjectGroupsForProject1: Added new operation to get the project groups in which the project belongs and checks for user view permission
- createProjectLinkedApp: Added support for creation of project-level linked application.i
- listSiteWideLinkedApps: Added support for listing of site-wide linked applications.
- listProjectLinkedApps: Added support for listing of project-level linked applications.
- getLinkedApplicationData Added support for getting linked application data.
- setLinkedApplicationData Added support for setting linked application data and icon.
- deleteLinkedApp Added support for deleting linked application.
- getOneTimeToken: Added support to get one time token for active user session
- getUserList: Updated permission check for non-super user can see only non-super-users in the user list and super user can see all users in the user list .
- getUserList2: Updated permission check for non-super user can see only non-super-users in the user list and super user can see all users in the user list .

Version 7.2

- createProject: Modified to add Orchestrate application to the project if it is integrated and enabled in the site.
- createProjectFromTemplate: Modified to add Orchestrate application to the project if it is integrated and enabled in the site.
- unLockProject: Modified to add Orchestrate application to the project if it is integrated and enabled in the site.

Version 7.1

- isSoapRedirectPostOnlyMode: New operation added to verify the SoapRedirect Post-Only mode.

Version 7.0

- createAssociation: Added support for createAssociation to accept Pluggable App Object Id as targetId
- deleteAssociation: Modified deleteAssociation to accept Pluggable App Object Id as targetId
- getAssociationList: Modified getAssociationList to accept Pluggable App Object Id as objectId
- createSiteLinkedApp: Added support for creation of site-wide linked application and return the created linked application Id
- getUserData2: New operation added to fetch additional information on user.
- getProjectListForUser: Modified to allow users to get their own list of projects in Hosted Mode.
- createAssociationWithTitles: New operation added to save object title(if supplied for Pluggable objects) during create association.
- changeIAObjectTitle: New operation added to update object title(for Pluggable objects) for existing associations.

Version 6.2

- hasGeneralPermission: Modified to return false instead of throwing PermissionDeniedFault, when the calling user does not have project view permission.

- hasPermission: Modified to return false instead of throwing PermissionDeniedFault, when the calling user does not have project view permission.

- hasPermission2: New operation added in 6.2; Same as hasPermission, except that it does not accept 'username' parameter and checks whether the calling user has permission.

Version 6.1.1

- hasSitewideRolePermission: New operation added in 6.1.1 to check site-wide role permission.

Version 6.1

- getProjectList: New parameter, fetchHierarchyPath, added.
- getProjectListWithHierarchy: Removed, use getProjectList instead.
- getUserProjectList: Removed, use getProjectListForUser instead.
- getUserProjectListWithHierarchy: Removed, use getProjectListForUser instead.
- getProjectListForUser: Two new parameters, fetchHierarchyPath and includeGroupMembership, added.
- getProjectListForUserWithHierarchy: Removed, use getProjectListForUser instead.
- getProjectsForUser: Removed, use getProjectListForUser instead.
- getProjectsForUserWithHierarchy: Removed, use getProjectListForUser instead.
- findProjects2: Removed and merged into findProjects.
- getProjectData2: Removed and merged into getProjectData.
- listProjectAdmins2: Removed and merged into listProjectAdmins.
- getGroupList, getGroupList2: Merged and renamed to getUserGroupList.
- getUserGroupList: Renamed to getUserGroupListForUser.
- getProjectGroupList: Renamed to getUserGroupListForProject
- createGroup: Renamed to createUserGroup
- getGroupData: Renamed to getUserGroupData
- setGroupData: Renamed to setUserGroupData
- deleteGroup: Renamed to deleteUserGroup
- addGroupMember: Renamed to addUserGroupMember
- removeGroupMember: Renamed to removeUserGroupMember
- getActiveGroupMembers, getActiveGroupMembers2: Merged and renamed to getUserGroupMembers.
- createUser2, createUserWithOrganization: Removed and merged into createUser.
- getUserData2: Removed and merged into getUserData.
- setUserData2: Removed and merged into setUserData.
- findUsers2: Removed and merged into findUsers.
- getUserList2: Removed and merged into getUserList.
- listAttachments2: Removed and merged into listAttachments.
- deleteProject2: Removed and merged into deleteProject.
- getAuditHistoryList2: Removed and merged into getAuditHistoryList.
- getBroadCastMessage:New operation added in 6.1 to get broadcast message.
- getUserSessionBySoapId: Get user session id from a soap session.
- invalidateResourceBundleCache: Removed
- invalidateEmailTemplate: Removed
- hasPermission: New parameter 'username' added.

Version 6.0.1

- createProjectGroup: New operation added in 6.0.1 to create a project group.
- listProjectGroups: New operation added in 6.0.1 to get the list of project groups.
- getProjectGroupData: New operation added in 6.0.1.
- addProjectsToProjectGroup: New operation added in 6.0.1.
- removeProjectsFromProjectGroup: New operation added in 6.0.1.
- getMemberProjectsForProjectGroup: New operation added in 6.0.1.
- getProjectGroupMemberList: New operation added in 6.0.1 to get the list of users who are member of a project group.
- addProjectGroupMember:New Operation added in 6.0.1 to add user to project group.
- removeProjectGroupMember:New Operation added in 6.0.1.
- getProjectGroupsForProject:New Operation added in 6.0.1 to get the project groups in which the project belongs
- setProjectGroupData:New Operation added in 6.0.1 to set(edit) the project group's title and description
- addProjectGroupAdmins:New Operation added in 6.0.1 to add admin users to the project group
- removeProjectGroupAdmins:New Operation added in 6.0.1 to remove the admins from a project group
- deleteProjectGroup:New Operation added in 6.0.1 to delete a project group
- listUsersWithPermissionOnObject:New Operation added in 6.0.1 to get a list of users who have the given permission on the given object

Version 6.0

- getProjectData2: New operation added in 6.0
- getSubprojectList: New operation added in 6.0
- setParentProject: New operation added in 6.0
- hasGeneralPermission: New operation added in 6.0
- deleteProject2(String sessionId, String projectId, boolean noNotification, boolean forceDeleteEvenIfChildFound): New operation added in 6.0
- getProjectListWithHierarchy(String sessionId, boolean fetchHierarchyPath): New operation added in 6.0 to allow fetching hierarchy path of each project returned.
- getUserProjectListWithHierarchy(String sessionId, boolean fetchHierarchyPath): New operation added in 6.0 to allow fetching hierarchy path of each project returned.
- getProjectListForUserWithHierarchy(String sessionId, String userId, boolean fetchHierarchyPath): New operation added in 6.0 to allow fetching hierarchy path of each project returned.
- getProjectsForUserWithHierarchy(String sessionId, String userId, boolean fetchHierarchyPath): New operation added in 6.0 to allow fetching hierarchy path of each project returned.
- findProjects2(String sessionId, String queryString, boolean fetchHierarchyPath): New operation added in 6.0 to allow fetching hierarchy path of each project returned.
- getProjectHierarchyPaths: New operation added in 6.0
- getUserData: New operation added in 6.0 to fetch the user information given a user session
- getUserByEmail: New operation added in 6.0 to fetch the user information given a user email
- getUserByName: New operation added in 6.0 to fetch the user information given a user's full name
- createUserWithOrganization: New operation added in 6.0 to create new user with organization
- lockProject: New operation added in 6.0 to lock a project
- unLockProject: New operation added in 6.0 to unlock a project
- getCurrentTime: New operation added in 6.0 to get current server time in milliseconds
- listGroupsWithGeneralPermission: New operation added in 6.0 to get a list of user groups with a given operation in a project
- canReceiveOwnUpdates: New operation added in 6.0 to check if user can receive emails for own updates
- doMandatoryPasswordChange: New operation added in 6.0 to change the password if and only if the password was set by an admin.
- changePassword: New operation added in 6.0 to change the password.

Version 5.4

- listProjectAdmins2: Added in 5.4 to return new `User2SoapList` objects.
- getActiveGroupMembers2: Added in 5.4 to return new `User2SoapList` objects.
- findUsers2: Added in 5.4 to return new `User2SoapList` objects.
- getUserList2: Added in 5.4 to return new `User2SoapList` objects.
- createUser2: Added in 5.4 to create new `User2SoapDO` objects.
- getUserData2: Added in 5.4 to get new `User2SoapDO` objects.
- setUserData2: Added in 5.4 to set new `User2SoapDO` objects.
- getSessionId: Get current user session id from an one time token.
- getJSessionId: Get current user web session id from an one time token.
- getWebAndSoapSessionId: Get web and soap session id.
- getJSessionBySoapId: Get web session id from a soap session.
- getProjectByPath: Get project data for a given project path.
- getUserEffectiveMode: Introduced in 5.4 to get effective mode for the current user.
- listUsersWithGeneralPermission: Get a list of users with permission on an object.
- hasGeneralPermission: Check if a user has a given permission on a given object.
- getCurrentUserData: Get user data for a given session id.

Version 5.3

- createOrReplaceProjectTemplate: New operation added in 5.3
- getAuditHistoryList2: Introduced in 5.3 to retrieve changes of fields introduced in 5.3
- listAttachments2: Introduced in 5.3 to retrieve additional information about attachments

Version 5.2

- getUserGroupList: Modified in 5.2 to allow non site admins to call method on own self

Version 5.1

- getGroupList2: New operation added in 5.1

Version 5.0

- invalidateResourceBundleCache: New operation added in 5.0
- invalidateEmailTemplate: New operation added in 5.0
- listProjectAdmins: New operation added in 5.0
- createAssociation: Modified in 5.0 to allow associations to DocumentReview

Since:
  4.1

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `protected static enum`
  `CollabNetSoap.LinkedAppOperation`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CollabNetSoap()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addProjectGroupAdmins(String sessionId, String projectGroupId, String[] usernames)`
  Makes the users given in the usernames parameter as administrators of the Project Group represented by the projectGroupId.
  `void`
  `addProjectGroupMember(String sessionId, String projectGroupId, String userName)`
  Makes a user a member of a project group.
  `void`
  `addProjectMember(String sessionId, String projectId, String userName)`
  Makes a user a member of a project.
  `void`
  `addProjectsToProjectGroup(String sessionId, String projectGroupId, String[] projectIds)`
  Adds the given projects to a project group.
  `void`
  `addUserGroupMember(String sessionId, String userGroupId, String userName)`
  Adds a user to a user group.
  `boolean`
  `canReceiveOwnUpdates(String sessionId)`
  Returns whether the current user receives notifications for the user's own updates.
  `void`
  `changeIAObjectTitle(String sessionId, String pluggableObjectId, String pluggableObjectTitle)`
  Updates the title for Pluggable objects only.
  `boolean`
  `changePassword(String sessionId, String userName, String newPassword)`
  Allows the user to change the password
  Note: From 16.7, the length of password cannot exceed the value of the configuration variable "MAX_PASSWORD_LENGTH" specified in the site-options.conf file.
  `void`
  `createAssociation(String sessionId, String originId, String targetId, String description)`
  Creates an association between two objects.
  `void`
  `createAssociationWithTitles(String sessionId, String originId, String originTitle, String targetId, String targetTitle, String description)`
  Creates an association between two objects with specified title.
  `ProjectSoapDO`
  `createOrReplaceProjectTemplate(String sessionId, String projectId, String title, String description, String[] contentChoices, String templateId)`
  Creates or replaces a template from an existing project
  `ProjectSoapDO`
  `createProject(String sessionId, String name, String title, String description)`
  Creates a project.
  `ProjectSoapDO`
  `createProjectFromTemplate(String sessionId, String templateId, String name, String title, String description)`
  Creates a project from template.
  `ProjectGroupSoapDO`
  `createProjectGroup(String sessionId, String title, String description)`
  Creates a Project Group.
  `String`
  `createProjectLinkedApp(String sessionId, String projectId, String title, String applicationUrl, String iconKey, String iconFileName, String iconMimeType, boolean singleSignon)`
  Creates linked application in a given project and return the created application Id
  `String`
  `createProjectLinkedApp2(String sessionId, String projectId, String title, String applicationUrl, String iconKey, String iconFileName, String iconMimeType, boolean singleSignon, String toolId)`
  Creates linked application in a given project and return the created application Id
  `String`
  `createSiteWideLinkedApp(String sessionId, String title, String applicationUrl, String applicationType, boolean singleSignon)`
  Create a site-wide linked application and return the created application Id
  `UserSoapDO`
  `createUser(String sessionId, String userName, String email, String fullName, String organization, String locale, String timeZone, String licenseType, boolean isSuperUser, boolean isRestrictedUser, String password)`
  Creates a new user with the specified parameters.
  `UserGroupSoapDO`
  `createUserGroup(String sessionId, String fullName, String description)`
  Creates a new user group with the specified parameters.
  `void`
  `deleteAssociation(String sessionId, String originId, String targetId)`
  Deletes an association between two objects
  `void`
  `deleteAttachment(String sessionId, String objectId, String attachmentId)`
  Deletes the specified attachment of the specified object.
  `void`
  `deleteLinkedApp(String sessionId, String linkedAppId)`
  Delete the linked application.
  `void`
  `deleteProject(String sessionId, String projectId, boolean noNotification, boolean forceDeleteEvenIfChildFound)`
  Deletes a project.
  `void`
  `deleteProjectGroup(String sessionId, String projectGroupId, boolean forceDeleteEvenIfMemberProjectFound)`
  Deletes a project group.
  `void`
  `deleteUserGroup(String sessionId, String groupId)`
  Deletes a user group.
  `String`
  `doMandatoryPasswordChange(String userName, String oldPassword, String newPassword)`
  Allows user to change the password if and only if the password was set by an administrator.
  `ProjectSoapList`
  `findProjects(String sessionId, String queryString)`
  Finds a list of projects matching a search string.
  `UserSoapList`
  `findUsers(String sessionId, String queryString)`
  Finds a list of users matching a search string.
  `String`
  `getApiVersion()`
  Gets TeamForge API version.
  `AssociationSoapList`
  `getAssociationList(String sessionId, String objectId)`
  Lists all of the associations for a given object.
  `AuditHistorySoapList`
  `getAuditHistoryList(String sessionId, String objectId, boolean includeDerivedChanges)`
  Returns the list of changes made to the specified object in reverse chronological order.
  `String`
  `getBroadCastMessage(String sessionId)`
  Gets broadcast message
  `CommentSoapList`
  `getCommentList(String sessionId, String objectId)`
  Gets list of comments for object.
  `String`
  `getConfigurationValue(String sessionId, String keyValue)`
  Gets Configuration value for the passed key.
  `long`
  `getCurrentTime(String sessionId)`
  Returns the current server time in milliseconds.
  `UserSoapDO`
  `getCurrentUserData(String sessionId)`
  Gets the user details for a given user session id.
  `String`
  `getJSessionBySoapId(String soapId)`
  Deprecated.
  instead use `getJSessionId`
  `String`
  `getJSessionId(String oneTimeToken)`
  Returns current user Jsession Id using one time token id
  `LinkedApplicationSoapDO`
  `getLinkedApplicationData(String sessionId, String linkedAppId)`
  Gets Linked Application Data by Linked Application Id
  `LinkedApplication2SoapDO`
  `getLinkedApplicationData2(String sessionId, String linkedAppId)`
  Gets Linked Application Data by Linked Application Id
  `ProjectSoapList`
  `getMemberProjectsForProjectGroup(String sessionId, String projectGroupId)`
  Gets the Project List for project group.
  `String`
  `getOneTimeToken(String sessionId)`
  Gives one time token for active sessionId.
  `int`
  `getProjectAccessLevel(String sessionId, String projectId)`
  Gets the project's access level.
  `ProjectSoapDO`
  `getProjectByPath(String sessionId, String projectPath)`
  Gets the project data for a given project path.
  `ProjectSoapDO`
  `getProjectData(String sessionId, String projectId)`
  Gets a project object which includes the parent project ID, project hierarchy path and locked status flag.
  `long`
  `getProjectDiskUsage(String sessionId, String projectId)`
  Gets the filestorage disk utilization of a project specified by a project id
  `ProjectGroupSoapDO`
  `getProjectGroupData(String sessionId, String projectGroupId)`
  Gets the Project Group Data by project group id.
  `ProjectGroupMemberSoapList`
  `getProjectGroupMemberList(String sessionId, String projectGroupId)`
  Returns project group membership list.
  `ProjectGroupSoapList`
  `getProjectGroupsForProject(String sessionId, String projectId)`
  Deprecated.
  in favour of getProjectGroupsForProject1
  `ProjectGroupSoapList`
  `getProjectGroupsForProject1(String sessionId, String projectId)`
  Gets ProjectGroupList by project and user should have view permission
  `SoapNamedValues`
  `getProjectHierarchyPaths(String sessionId, String[] projectIds)`
  Returns the hierarchy path of the given projects.
  `ProjectSoapList`
  `getProjectList(String sessionId, boolean fetchHierarchyPath)`
  Returns a list of all projects visible to the user.
  `ProjectSoapList`
  `getProjectListForUser(String sessionId, String username, boolean fetchHierarchyPath, boolean includeGroupMembership)`
  Returns a list of projects the user passed as parameter is a member of (the list contains only the projects that the soap caller has the right to see).
  `ProjectMemberSoapList`
  `getProjectMemberList(String sessionId, String projectId)`
  Returns project membership list.
  `long`
  `getProjectQuota(String sessionId, String projectId)`
  Gets the disk quota for a project.
  `String`
  `getSessionId(String oneTimeToken)`
  Returns current user session Id using one time token id
  `ProjectSoapList`
  `getSubprojectList(String sessionId, String projectId, boolean fetchHierarchyPath)`
  Returns a list of the immediate sub projects of a project.
  `UserSoapDO`
  `getUserByEmail(String sessionId, String email)`
  Returns the user information for the given email address.
  `UserSoapDO`
  `getUserByName(String sessionId, String fullname)`
  Returns the user information for the given full name.
  `UserSoapDO`
  `getUserData(String sessionId, String username)`
  Gets the user details for the given username.
  `User2SoapDO`
  `getUserData2(String sessionId, String username)`
  Gets the user details for the given username.
  `String`
  `getUserEffectiveMode(String sessionId)`
  Gets effective mode (ALM or SCM) for the current user
  `UserGroupSoapDO`
  `getUserGroupData(String sessionId, String groupId)`
  Returns the user group information.
  `UserGroupSoapList`
  `getUserGroupList(String sessionId)`
  Gets a list of all user groups on the system.
  `UserGroupSoapList`
  `getUserGroupListForProject(String sessionId, String projectOrProjectGroupId)`
  Returns a list of user groups that have a role in the project.
  `UserGroupSoapList`
  `getUserGroupListForUser(String sessionId, String username)`
  Gets a list of all user groups the user belongs.
  `UserSoapList`
  `getUserGroupMembers(String sessionId, String groupId)`
  Gets a list of active users who are members of a user group
  `UserSoapList`
  `getUserList(String sessionId, SoapFilter soapFilter)`
  Deprecated.
  use getUserList2 instead, which includes organization, alternate emails, locale and timeZone details in the result.
  `User2SoapList`
  `getUserList2(String sessionId, SoapFilter soapFilter)`
  Gets a list of all users on the system.
  `String`
  `getUserSessionBySoapId(String soapId)`
  gets the access token using soap Id.
  `String`
  `getVersion(String sessionId)`
  Gets TeamForge version.
  `VersionInformationSoapList`
  `getVersionInformationList(String sessionId, String folderId)`
  Obtains a list of versions and last modified dates for the objects residing in the specified folder.
  `String`
  `getWebAndSoapSessionId(String oneTimeToken)`
  Gets the web and soap session id's separated by &
  `boolean`
  `hasGeneralPermission(String sessionId, String username, String projectId, String operationString, String objectId)`
  Checks if the user has general permission for the resource (specified by objectid).
  `boolean`
  `hasPermission(String sessionId, String username, String projectId, String operationString, String objectId)`
  Checks whether the given user has permission for an operation on a specified object Note on an exceptional behavior: It returns false, if the calling user does not have 'Project view' permission.
  `boolean`
  `hasPermission2(String sessionId, String projectId, String operationString, String objectId)`
  Checks whether the current user has permission for an operation on a specified object Note on an exceptional behavior: It returns false, if the calling user does not have 'Project view' permission.
  `boolean`
  `hasSitewideRolePermission(String sessionId, String operationString)`
  Checks if the current user has the given site wide permission to perform the operation.
  `boolean`
  `isHostedMode(String sessionId)`
  Verifies if the TeamForge appserver is running in Hosted Mode.
  `boolean`
  `isSoapRedirectPostOnlyMode(String sessionId)`
  Verifies if TeamForge is running in SoapRedirect Post-Only mode.
  `void`
  `keepAlive(String sessionId)`
  Deprecated.
  This operation is no longer supported.
  `AttachmentSoapList`
  `listAttachments(String sessionId, String objectId)`
  Lists the attachments associated with the object, the attachment itself is not part of the returned object.
  `UserGroupSoapList`
  `listGroupsWithGeneralPermission(String sessionId, String projectId, String operationString, String folderId, boolean includeInherited)`
  Returns a list of user groups which have some permission to perform the given operation in the given folder (Doesn't check default access permission nor site admins)
  `UserSoapList`
  `listProjectAdmins(String sessionId, String projectId)`
  Returns project administrators list.
  `ProjectGroupSoapList`
  `listProjectGroups(String sessionId)`
  Returns a list of all projects groups.
  `LinkedApplicationSoapList`
  `listProjectLinkedApps(String sessionId, String projectId)`
  Lists project-level linked applications for a given project.
  `LinkedApplication2SoapList`
  `listProjectLinkedApps2(String sessionId, String projectId)`
  Lists project-level linked applications for a given project.
  `LinkedApplicationSoapList`
  `listSiteWideLinkedApps(String sessionId)`
  Lists site-wide linked applications.
  `ProjectSoapList`
  `listTemplates(String sessionId)`
  Lists project templates within the installation.
  `UserSoapList`
  `listUsersWithGeneralPermission(String sessionId, String projectId, String operationString, String folderId)`
  Returns a list of users who have some permission to perform the given operation in the given folder (Doesn't check default access permission nor site admins)
  `UserSoapList`
  `listUsersWithPermissionOnObject(String sessionId, String operationString, String objectId, int flag)`
  Returns the list of users who have the given permission on the given object.
  `ProjectSoapDO`
  `lockProject(String sessionId, String projectId)`
  Locks project.
  `String`
  `login(String userName, String password)`
  Logs in a user and creates a new session.This will throw login fault if the user's password was set by an administrator and if the user has not changed it yet.
  `String`
  `loginAnonymous(String anonSharedSecret)`
  This method allows to login as anonymous to get TF default access.
  `String`
  `loginWithToken(String username, String oneTimeToken)`
  Logs in a user and creates a new session.
  `void`
  `logoff(String userName, String sessionId)`
  Ends a user's session, but the token can still be used until it expires.
  `void`
  `reindexObject(String sessionId, String objectId)`
  Re-indexes the contents of the specified project, folder, item or user.
  `void`
  `removeProjectGroupAdmins(String sessionId, String projectGroupId, String[] usernames)`
  Removes the users given in the usernames parameter from the administrator role of the Project Group represented by the projectGroupId.
  `void`
  `removeProjectGroupMember(String sessionId, String projectGroupId, String userName)`
  Removes a user from a project group.
  `void`
  `removeProjectMember(String sessionId, String projectId, String userName)`
  Removes a user from a project.
  `void`
  `removeProjectsFromProjectGroup(String sessionId, String[] projectMemberIds, String projectGroupId)`
  Removes projects from project group
  `void`
  `removeUserGroupMember(String sessionId, String userGroupId, String userName)`
  Removes a user from a user group.
  `void`
  `setLinkedApplicationData(String sessionId, LinkedApplicationSoapDO linkedApplicationSoapDO, String iconKey, String iconFileName, String iconMimeType)`
  Sets the linked application.
  `void`
  `setLinkedApplicationData2(String sessionId, LinkedApplication2SoapDO linkedApplication2SoapDO, String iconKey, String iconFileName, String iconMimeType)`
  Sets the linked application.
  `void`
  `setParentProject(String sessionId, String projectId, String parentProjectId)`
  Sets the parent of a project.
  `void`
  `setProjectAccessLevel(String sessionId, String projectId, int accessLevel)`
  Sets the project access level.
  `void`
  `setProjectGroupData(String sessionId, ProjectGroupSoapDO projectGroupData)`
  Sets the project group's data with the data represented in the projectGroupData parameter.
  `void`
  `setProjectQuota(String sessionId, String projectId, long quota)`
  Sets the disk quota for a project.
  `void`
  `setUserData(String sessionId, UserSoapDO userData)`
  Sets the user information.
  `void`
  `setUserData2(String sessionId, User2SoapDO userData)`
  Sets the user information.
  `void`
  `setUserGroupData(String sessionId, UserGroupSoapDO groupData)`
  Sets the user group information.
  `ProjectSoapDO`
  `unLockProject(String sessionId, String projectId)`
  Un-Locks project.

  ### Methods inherited from class com.collabnet.ce.soap60.webservices.WebService

  `assertNormalProject, assertProjectGroup, canGiveFullUserDetails, checkGeneralPermission, checkPermission, checkPermission, checkSiteWidePermission, createUserSessionKey, downloadFile, filterInvalidProjMembers, generateFolderName, getAccessControlService, getApplicationRegistryService, getAttachment, getAuthenticationService, getCategorization, getCoreService, getDiscussion, getDocMan, getDocumentRootFolder, getFileStorageService, getFolderKey, getFolderPath, getFolderPath, getFolderPath, getFrs, getIntegrationData, getItemPath, getItemPath, getLocale, getMonitoring, getNews, getNulledMinSoapDate, getObjectKey, getObjectPath, getOperation, getPages, getPlanning, getPluggableComponent, getProjectId, getProjectPath, getProjectPath, getRbac, getSearch, getStoredFileSize, getStoredFileText, getTagService, getTeam, getTemplate, getTracker, getUser, getUserData, getUsername, getUserService, getWiki, hasPermission, hasSiteWidePermission, isFolderResource, isProjectGroup, isProjectId, isStrEmpty, isSuperUser, isValidEmail, makeStoredFileDO, makeStoredFileDOs, requireProjectAdminPermission, setPartialOrFullUserData, setUserNameToResponse, storeFile, storeTextFile, validateChoice, validateChoice, validateIconFile, validateString, validateStringArray, validateStringWithTrim, validateTokenAndExactUsername, validateTokenAndExactUsername, validateWikiPageName, verifyLicense`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### CollabNetSoap

    public CollabNetSoap()

- ## Method Details

  - ### getVersion

    public String getVersion(String sessionId) throws InvalidSessionFault
    Gets TeamForge version. NOTE: In earlier version of TeamForge, this call returned a symbolic name for the version. It is now replaced with the actual version of the product as seen in the "About TeamForge" dialog.
    Specified by:
      `getVersion` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - the session id.
    Returns:
      Version as string.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
    Since:
      4.1

  - ### getApiVersion

    public String getApiVersion()
    Gets TeamForge API version. This is different from the TeamForge Version and can be changed independent of that.

    IMPORTANT: note that the API version string returned CAN be updated between releases. Therefore it is very important to perform proper version checking against the version returned. This is because we may introduce new API calls as additional features are added to our product. However we guarantee that subsequent releases will not change existing API signatures or SOAP structures.

    The version returned will be a period separated string with the following format: - The first two fields represent the TeamForge release version number. For example, "4.3" equates to SourceForge 4.3 - The third field, if present, will represent service pack version. - The fourth field, if present, will represent the hot fix version.

    Example:

    4.3 = SourceForge 4.3 4.3.0.2 = SourceForge 4.3 Hotfix2 4.3.2 = SourceForge 4.3 SP2

    So a call that existed in 4.3 is guaranteed to exist in 4.3.2. One in 4.3.0.2 will also work in 4.3.2.

    Specified by:
      `getApiVersion` in interface `ICollabNetSoap`
    Returns:
      API version as string.
    Since:
      4.1-HOTFIX2

  - ### keepAlive

    @Deprecated public void keepAlive(String sessionId) throws InvalidSessionFault
    Deprecated.
    This operation is no longer supported. Acquire new access token by logging in again.
    This operation is no longer supported. If token is timed out, acquire new access token by logging in again.
    Specified by:
      `keepAlive` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - the session id.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
    Since:
      4.1

  - ### loginAnonymous

    public String loginAnonymous(String anonSharedSecret) throws LoginFault, SystemFault
    This method allows to login as anonymous to get TF default access. To make sure this method does not really leave a security hole, a shared security is used. To use this method, the following configuration variable must be added into site-options.conf SOAP_ANONYMOUS_SHARED_SECRET = aSecret
    Specified by:
      `loginAnonymous` in interface `ICollabNetSoap`
    Parameters:
      `anonSharedSecret` - Shared secret for anonymous login. Its value must match the value set for SOAP_ANONYMOUS_SHARED_SECRET configuration variable set in site-options.conf file.
    Returns:
      Access token.
    Throws:
      `LoginFault` - when the login information is incorrect.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      4.4

  - ### login

    public String login(String userName, String password) throws LoginFault, SystemFault
    Logs in a user and creates a new session.This will throw login fault if the user's password was set by an administrator and if the user has not changed it yet.
    Note 1: From 16.7, this allows case-insensitive user names during login, if the "ALLOW_CASE_INSENSITIVE_LOGIN" configuration variable in the site-options.conf file is set as true.
    Note 2: From 16.7, the length of password cannot exceed the value of the configuration variable "MAX_PASSWORD_LENGTH" specified in the site-options.conf file; Users who already used a password longer than this limit have to reset their password either by using 'Forgot Password" link in the UI or by contacting TeamForge administrator.
    Specified by:
      `login` in interface `ICollabNetSoap`
    Parameters:
      `userName` - Name of the user.
      `password` - User password.
    Returns:
      Access token.
    Throws:
      `LoginFault` - when the login information is incorrect.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      4.1

  - ### loginWithToken

    public String loginWithToken(String username, String oneTimeToken) throws LoginFault, SystemFault
    Logs in a user and creates a new session.
    Specified by:
      `loginWithToken` in interface `ICollabNetSoap`
    Parameters:
      `username` - Name of the user.
      `oneTimeToken` - a one time token for login.
    Returns:
      Access token.
    Throws:
      `LoginFault` - when the login information is incorrect.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      4.2

  - ### logoff

    public void logoff(String userName, String sessionId) throws InvalidSessionFault, SystemFault
    Ends a user's session, but the token can still be used until it expires.
    Specified by:
      `logoff` in interface `ICollabNetSoap`
    Parameters:
      `userName` - User's name.
      `sessionId` - Session id.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      4.1

  - ### doMandatoryPasswordChange

    public String doMandatoryPasswordChange(String userName, String oldPassword, String newPassword) throws LoginFault, InvalidOperationFault, SystemFault, InvalidSessionFault, InvalidPasswordFault, PermissionDeniedFault, IllegalArgumentFault
    Allows user to change the password if and only if the password was set by an administrator.
    Note: From 16.7, the length of password cannot exceed the value of the configuration variable "MAX_PASSWORD_LENGTH" specified in the site-options.conf file; Users who already used a password longer than this limit have to reset their password either by using 'Forgot Password" link in the UI or by contacting TeamForge administrator.
    Specified by:
      `doMandatoryPasswordChange` in interface `ICollabNetSoap`
    Parameters:
      `userName` - login name
      `oldPassword` - current password
      `newPassword` - new password
    Returns:
      User session key.
    Throws:
      `LoginFault` - when the login information is incorrect.
      `InvalidOperationFault` - if the user has already changed the password
      `SystemFault` - when an unexpected system error occurs.
      `InvalidSessionFault` - If there is a session fault.
      `InvalidPasswordFault` - If the new password is not valid.
      `PermissionDeniedFault` - If user does not have permissions to change password
      `IllegalArgumentFault` - If invalid user name is passed
    Since:
      6.0

  - ### changePassword

    public boolean changePassword(String sessionId, String userName, String newPassword) throws SystemFault, InvalidSessionFault, InvalidPasswordFault, PermissionDeniedFault, IllegalArgumentFault
    Allows the user to change the password
    Note: From 16.7, the length of password cannot exceed the value of the configuration variable "MAX_PASSWORD_LENGTH" specified in the site-options.conf file.
    Specified by:
      `changePassword` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session key
      `userName` - login name
      `newPassword` - new password
    Returns:
      true if the password has been successfully changed
    Throws:
      `SystemFault` - when an unexpected system error occurs.
      `InvalidSessionFault` - If there is a session fault.
      `InvalidPasswordFault` - If the new password is not valid.
      `PermissionDeniedFault` - If user does not have permissions to change password
      `IllegalArgumentFault` - If invalid user name is passed
    Since:
      6.0

  - ### listGroupsWithGeneralPermission

    public UserGroupSoapList listGroupsWithGeneralPermission(String sessionId, String projectId, String operationString, String folderId, boolean includeInherited) throws InvalidSessionFault, NoSuchObjectFault, IllegalArgumentFault, SystemFault, PermissionDeniedFault
    Returns a list of user groups which have some permission to perform the given operation in the given folder (Doesn't check default access permission nor site admins)
    Specified by:
      `listGroupsWithGeneralPermission` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - The current user session id
      `projectId` - Project for which permission is checked
      `operationString` - The string representation of the operation. This should be in the format <objectTypeName>.<operationCategory>.<operationName>. For a list of operation strings for various object types, see OperationConstants interface. For integrated application, this should be in the format PluggableLink.<id of the integrated app>.<permission name>.<permission name>.
      `folderId` - Id of the folder for which permission needs to be checked.
      `includeInherited` - true includes groups inherited from parent projects, false otherwise
    Returns:
      a list of user groups which has the permission on a given folder
    Throws:
      `InvalidSessionFault` - When Session is invalid
      `NoSuchObjectFault` - When the folderId does not exist
      `IllegalArgumentFault` - If the operationString is in an invalid format
      `SystemFault` - Any other exceptions
      `PermissionDeniedFault` - If user does not have project view permission
    Since:
      6.0

  - ### hasPermission

    public boolean hasPermission(String sessionId, String username, String projectId, String operationString, String objectId) throws InvalidSessionFault, NoSuchObjectFault, IllegalArgumentFault, SystemFault
    Checks whether the given user has permission for an operation on a specified object Note on an exceptional behavior: It returns false, if the calling user does not have 'Project view' permission.
    Specified by:
      `hasPermission` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - the current user session id
      `username` - the name of the user to check permission
      `projectId` - the project in which the operation is defined
      `operationString` - The string representation of the operation. This should be in the format <objectTypeName>.<operationCategory>.<operationName>. For a list of operation strings for various object types, see OperationConstants interface. For integrated application, this should be in the format PluggableLink.<id of the integrated app>.<permission name>.<permission name>.
      `objectId` - the object for which we are doing the permission check. Null if we're checking permission on the app folder of a project
    Returns:
      whether the given user has permission for an operation on a specified object Note on an exceptional behavior: It returns false, if the calling user does not have 'Project view' permission.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - The specified projectId or folderId was invalid
      `SystemFault` - when an unexpected system level error occurs.
      `IllegalArgumentFault` - If the operationString is in an invalid format
    Since:
      6.1
    See Also:
      - `OperationConstants`

  - ### hasPermission2

    public boolean hasPermission2(String sessionId, String projectId, String operationString, String objectId) throws InvalidSessionFault, NoSuchObjectFault, IllegalArgumentFault, SystemFault
    Checks whether the current user has permission for an operation on a specified object Note on an exceptional behavior: It returns false, if the calling user does not have 'Project view' permission.
    Specified by:
      `hasPermission2` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - the current user session id
      `projectId` - the project in which the operation is defined
      `operationString` - The string representation of the operation. This should be in the format <objectTypeName>.<operationCategory>.<operationName>. For a list of operation strings for various object types, see OperationConstants interface. For integrated application, this should be in the format PluggableLink.<id of the integrated app>.<permission name>.<permission name>.
      `objectId` - the object for which we are doing the permission check. Null if we're checking permission on the app folder of a project
    Returns:
      whether the current user has permission for an operation on a specified object Note on an exceptional behavior: It returns false, if the calling user does not have 'Project view' permission.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - The specified projectId or folderId was invalid
      `SystemFault` - when an unexpected system level error occurs.
      `IllegalArgumentFault` - If the operationString is in an invalid format
    Since:
      6.2
    See Also:
      - `OperationConstants`

  - ### getProjectList

    public ProjectSoapList getProjectList(String sessionId, boolean fetchHierarchyPath) throws InvalidSessionFault, SystemFault
    Returns a list of all projects visible to the user. Use getUserProjectList() for getting a list of projects in which the user is a member.
    Specified by:
      `getProjectList` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session key.
      `fetchHierarchyPath` - flag indicating whether to fetch the hierarchy path for each project
    Returns:
      List of projects
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `SystemFault` - when an unexpected system level error occurs.
    Since:
      4.1

  - ### getProjectListForUser

    public ProjectSoapList getProjectListForUser(String sessionId, String username, boolean fetchHierarchyPath, boolean includeGroupMembership) throws InvalidSessionFault, SystemFault
    Returns a list of projects the user passed as parameter is a member of (the list contains only the projects that the soap caller has the right to see). This method also returns the projects in which the user is a member through group membership and assigned some roles, if the includeGroupMembership flag is true.
    Specified by:
      `getProjectListForUser` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session key.
      `username` - User name.
      `fetchHierarchyPath` - flag indicating whether to fetch the hierarchy path for each project
      `includeGroupMembership` - flag indicating whether to return projects which are accessible by group membership.
    Returns:
      List of user projects.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `SystemFault` - when an unexpected system level error occurs.
    Since:
      4.4-SP1

  - ### getSubprojectList

    public ProjectSoapList getSubprojectList(String sessionId, String projectId, boolean fetchHierarchyPath) throws InvalidSessionFault, SystemFault, PermissionDeniedFault, NoSuchObjectFault
    Returns a list of the immediate sub projects of a project. When a project group id is passed, this API will throw a NoSuchObjectFault.
    Specified by:
      `getSubprojectList` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session key.
      `projectId` - Project id (not a project group id).
      `fetchHierarchyPath` - flag indicating whether to fetch the hierarchy path for each project
    Returns:
      List of sub projects.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `SystemFault` - when an unexpected system level error occurs.
      `NoSuchObjectFault` - when the project passed as parameter does not exist or if the project id is in fact a project group id.
      `PermissionDeniedFault` - when the user has insufficient privileges.
    Since:
      6.0

  - ### createProject

    public ProjectSoapDO createProject(String sessionId, String name, String title, String description) throws InvalidSessionFault, PermissionDeniedFault, SystemFault, ObjectAlreadyExistsFault, IllegalArgumentFault
    Creates a project.
    Specified by:
      `createProject` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session key.
      `name` - The name of the project (can be null, will fall back to title or id)
      `title` - The title of the project
      `description` - The description of the project
    Returns:
      The project data
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `ObjectAlreadyExistsFault` - when the project with that name already exists.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
      `IllegalArgumentFault` - when specified argument is invalid.
      `IllegalArgumentException` - Invalid data was passed in
    Since:
      4.2-SP1

  - ### createOrReplaceProjectTemplate

    public ProjectSoapDO createOrReplaceProjectTemplate(String sessionId, String projectId, String title, String description, String[] contentChoices, String templateId) throws InvalidSessionFault, PermissionDeniedFault, SystemFault, NoSuchObjectFault, IllegalArgumentFault
    Creates or replaces a template from an existing project
    Specified by:
      `createOrReplaceProjectTemplate` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - The session id.
      `projectId` - The project to copy into a template
      `title` - The title of the template
      `description` - The description of the template
      `contentChoices` - the desired application content in the template, see constants below
      `templateId` - the id of the template to replace, if null (not empty string but null), a new template will be created
    Returns:
      The template project data
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
      `NoSuchObjectFault` - when the template or project does not exist.
      `IllegalArgumentFault` - when illegal argument is passed.
    Since:
      5.3
    See Also:
      - `ProjectSoapDO.INCLUDE_ALL_CONTENT`
      - `ProjectSoapDO.INCLUDE_DISCUSSIONS_CONTENT`
      - `ProjectSoapDO.INCLUDE_DOCUMENTS_CONTENT`
      - `ProjectSoapDO.INCLUDE_FRS_CONTENT`
      - `ProjectSoapDO.INCLUDE_PLANNING_FOLDERS`
      - `ProjectSoapDO.INCLUDE_PROJECT_PAGES`
      - `ProjectSoapDO.INCLUDE_REPORTS_CONTENT`
      - `ProjectSoapDO.INCLUDE_SAVED_SEARCHES`
      - `ProjectSoapDO.INCLUDE_TRACKER_CONTENT`
      - `ProjectSoapDO.INCLUDE_WIKI_CONTENT`
      - `ProjectSoapDO.INCLUDE_TEAMS`
      - `(Supported from 17.8)`
      - `(Supported from 17.8)`

  - ### createProjectFromTemplate

    public ProjectSoapDO createProjectFromTemplate(String sessionId, String templateId, String name, String title, String description) throws InvalidSessionFault, PermissionDeniedFault, SystemFault, ObjectAlreadyExistsFault, IllegalArgumentFault
    Creates a project from template.
    Specified by:
      `createProjectFromTemplate` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session key.
      `templateId` - The template project id
      `name` - The name of the project (can be null, will fall back to title or id)
      `title` - The title of the project
      `description` - The description of the project
    Returns:
      The project data
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `ObjectAlreadyExistsFault` - when the project with that name already exists.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
      `IllegalArgumentFault` - when illegal argument is passed.
    Since:
      4.2-SP1

  - ### listTemplates

    public ProjectSoapList listTemplates(String sessionId) throws InvalidSessionFault, SystemFault
    Lists project templates within the installation.
    Specified by:
      `listTemplates` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session key.
    Returns:
      The list of template projects
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      4.2-SP1

  - ### findProjects

    public ProjectSoapList findProjects(String sessionId, String queryString) throws InvalidSessionFault, SearchQuerySyntaxFault, SystemFault, IllegalArgumentFault
    Finds a list of projects matching a search string.
    Specified by:
      `findProjects` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session id.
      `queryString` - Query string.
    Returns:
      List of projects matching search criteria.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `SearchQuerySyntaxFault` - when the specified search query string is syntactically invalid.
      `SystemFault` - when an unexpected system level error occurs.
      `IllegalArgumentFault` - when the query string is invalid.
    Since:
      4.1

  - ### lockProject

    public ProjectSoapDO lockProject(String sessionId, String projectId) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, SystemFault, ProjectAlreadyLockedFault
    Locks project. Thus making all the tools and their data read-only.
    Specified by:
      `lockProject` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session key.
      `projectId` - Project id.
    Returns:
      Project data.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified project id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
      `ProjectAlreadyLockedFault` - When a user tries to lock an already locked project
    Since:
      6.0

  - ### unLockProject

    public ProjectSoapDO unLockProject(String sessionId, String projectId) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, SystemFault
    Un-Locks project. Restoring to the normal state where the objects are editable.
    Specified by:
      `unLockProject` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session key.
      `projectId` - Project id.
    Returns:
      Project data.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified object id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      6.0

  - ### getProjectData

    public ProjectSoapDO getProjectData(String sessionId, String projectId) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, SystemFault
    Gets a project object which includes the parent project ID, project hierarchy path and locked status flag.
    Specified by:
      `getProjectData` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session key.
      `projectId` - Project id.
    Returns:
      Project data.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified object id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      4.1

  - ### getProjectMemberList

    public ProjectMemberSoapList getProjectMemberList(String sessionId, String projectId) throws InvalidSessionFault, PermissionDeniedFault, NoSuchObjectFault, SystemFault
    Returns project membership list.
    Specified by:
      `getProjectMemberList` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session id.
      `projectId` - Id of the project.
    Returns:
      Members of project.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `NoSuchObjectFault` - when the specified object id is invalid.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      4.1

  - ### listProjectAdmins

    public UserSoapList listProjectAdmins(String sessionId, String projectId) throws InvalidSessionFault, PermissionDeniedFault, NoSuchObjectFault, SystemFault, IllegalArgumentFault
    Returns project administrators list.
    Specified by:
      `listProjectAdmins` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session id.
      `projectId` - Id of the project.
    Returns:
      Administrators of the project.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `NoSuchObjectFault` - when the specified project id is invalid.
      `SystemFault` - when an unexpected system error occurs.
      `IllegalArgumentFault`
    Since:
      5.0

  - ### getUserGroupListForProject

    public UserGroupSoapList getUserGroupListForProject(String sessionId, String projectOrProjectGroupId) throws NoSuchObjectFault, InvalidSessionFault, PermissionDeniedFault, SystemFault
    Returns a list of user groups that have a role in the project.
    Specified by:
      `getUserGroupListForProject` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session id.
      `projectOrProjectGroupId` - Project/ProjectGroup Id.
    Returns:
      UserGroups who have a role in the project.
    Throws:
      `NoSuchObjectFault` - when the specified object id is invalid.
      `InvalidSessionFault` - when the specified session id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      4.4-SP1 (renamed from getProjectGroupList in 6.1)

  - ### addProjectMember

    public void addProjectMember(String sessionId, String projectId, String userName) throws InvalidSessionFault, PermissionDeniedFault, NoSuchObjectFault, SystemFault
    Makes a user a member of a project.
    Specified by:
      `addProjectMember` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session id.
      `projectId` - Id project Id.
      `userName` - Name of the new user.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `NoSuchObjectFault` - when the specified object id is invalid.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      4.3

  - ### addProjectGroupMember

    public void addProjectGroupMember(String sessionId, String projectGroupId, String userName) throws InvalidSessionFault, PermissionDeniedFault, NoSuchObjectFault, SystemFault
    Makes a user a member of a project group.
    Specified by:
      `addProjectGroupMember` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session id.
      `projectGroupId` - ProjectGroup id.
      `userName` - Name of the new user.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `NoSuchObjectFault` - when the specified object id is invalid.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      6.0.1

  - ### removeProjectMember

    public void removeProjectMember(String sessionId, String projectId, String userName) throws InvalidSessionFault, PermissionDeniedFault, NoSuchObjectFault, RemoveOnlyProjectAdminFault, SystemFault
    Removes a user from a project.
    Specified by:
      `removeProjectMember` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session id.
      `projectId` - Id of the project.
      `userName` - Name of the new user.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `NoSuchObjectFault` - when the specified object id is invalid.
      `SystemFault` - when an unexpected system error occurs.
      `RemoveOnlyProjectAdminFault` - attempting to remove last project admin
    Since:
      4.3 hotfix5

  - ### createUserGroup

    public UserGroupSoapDO createUserGroup(String sessionId, String fullName, String description) throws InvalidSessionFault, PermissionDeniedFault, IllegalArgumentFault, ObjectAlreadyExistsFault, SystemFault
    Creates a new user group with the specified parameters. NOTE: Only super-users or users with Group creation permissions are allowed to create user groups through SOAP interface.
    Specified by:
      `createUserGroup` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User's session id.
      `fullName` - Full name of the new group.
      `description` - Description of the new group.
    Returns:
      Newly created group object.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `ObjectAlreadyExistsFault` - when the specified group already exists.
      `IllegalArgumentFault` - when one or more group parameters are invalid.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      4.4 SP1 (renamed from createGroup in 6.1)

  - ### getUserGroupData

    public UserGroupSoapDO getUserGroupData(String sessionId, String groupId) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, SystemFault
    Returns the user group information.
    Specified by:
      `getUserGroupData` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User's session id.
      `groupId` - User Group id.
    Returns:
      User Group data.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified group id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      4.4 SP1 (renamed from getGroupData in 6.1)

  - ### setUserGroupData

    public void setUserGroupData(String sessionId, UserGroupSoapDO groupData) throws InvalidSessionFault, NoSuchObjectFault, VersionMismatchFault, PermissionDeniedFault, ObjectAlreadyExistsFault, IllegalArgumentFault, SystemFault
    Sets the user group information. NOTE: Only super-users or users with Group edit permissions are allowed to set user group data.
    Specified by:
      `setUserGroupData` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User's session id.
      `groupData` - User Group data.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified object id is invalid.
      `VersionMismatchFault` - The user group version being edited is not the latest one
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `ObjectAlreadyExistsFault` - when a user group with the specified user group name already exists.
      `IllegalArgumentFault` - when the specified user group name is invalid.
      `SystemFault` - when an unexpected system error occurs
    Since:
      4.4 SP1 (renamed from setGroupData in 6.1)

  - ### deleteUserGroup

    public void deleteUserGroup(String sessionId, String groupId) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, SystemFault, IllegalUserModificationFault
    Deletes a user group. Only Super user or users with User Group delete permissions are allowed to delete a user group.
    Specified by:
      `deleteUserGroup` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session key.
      `groupId` - The id of the user group to be deleted
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - if we can't find the project with the specified user group id
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
      `IllegalUserModificationFault` - when a user tries to delete system created user group.
    Since:
      4.4 SP1 (renamed from deleteGroup in 6.1)

  - ### getUserGroupList

    public UserGroupSoapList getUserGroupList(String sessionId) throws InvalidSessionFault, SystemFault, PermissionDeniedFault
    Gets a list of all user groups on the system.
    Specified by:
      `getUserGroupList` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session id.
    Returns:
      List of user groups matching a filter.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `SystemFault` - when an unexpected system error occurs.
      `PermissionDeniedFault` - when the user has insufficient privileges.
    Since:
      4.4 SP1 (renamed from getGroupList in 6.1)

  - ### getUserGroupListForUser

    public UserGroupSoapList getUserGroupListForUser(String sessionId, String username) throws InvalidSessionFault, SystemFault, PermissionDeniedFault
    Gets a list of all user groups the user belongs. In order to view the list of user groups another user belongs to, caller must have Users - View or UserGroups - View permission.
    Specified by:
      `getUserGroupListForUser` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session id.
      `username` - the name of the user
    Returns:
      List of user groups the user belongs.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      4.4 SP1 (renamed from getUserGroupList in 6.1)

  - ### getUserGroupMembers

    public UserSoapList getUserGroupMembers(String sessionId, String groupId) throws InvalidSessionFault, SystemFault, PermissionDeniedFault, NoSuchObjectFault
    Gets a list of active users who are members of a user group
    Specified by:
      `getUserGroupMembers` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session id.
      `groupId` - the user group id
    Returns:
      List of members of a user group
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - if we can't find the project with the specified user group id.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      4.4 SP1 (renamed from getActiveGroupMembers in 6.1)

  - ### addUserGroupMember

    public void addUserGroupMember(String sessionId, String userGroupId, String userName) throws InvalidSessionFault, NoSuchObjectFault, SystemFault, PermissionDeniedFault, IllegalGroupMemberAddFault
    Adds a user to a user group. The user and user group must be existing already.
    Specified by:
      `addUserGroupMember` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session id.
      `userGroupId` - User Group to which the user should be added
      `userName` - User to be added to the user group
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - if the user group and/or user does not exist
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
      `IllegalGroupMemberAddFault` - when an users in the system is added to system created user group.
    Since:
      4.4 SP1 (renamed from addGroupMember in 6.1)

  - ### removeUserGroupMember

    public void removeUserGroupMember(String sessionId, String userGroupId, String userName) throws InvalidSessionFault, NoSuchObjectFault, SystemFault, PermissionDeniedFault
    Removes a user from a user group.
    Specified by:
      `removeUserGroupMember` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session id.
      `userGroupId` - User Group from which the user should be removed.
      `userName` - User to be removed.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - if the user group and/or user does not exist
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      4.4 SP1 (renamed from removeGroupMember in 6.1)

  - ### createUser

    public UserSoapDO createUser(String sessionId, String userName, String email, String fullName, String organization, String locale, String timeZone, String licenseType, boolean isSuperUser, boolean isRestrictedUser, String password) throws InvalidSessionFault, PermissionDeniedFault, IllegalArgumentFault, ObjectAlreadyExistsFault, UserLimitExceededFault, SystemFault
    Creates a new user with the specified parameters. NOTE: Only super-users are allowed to create users through SOAP interface. Password can be null in which case the newly created user will get an email requesting him to set the initial password.
    From 16.7, the length of password cannot exceed the value of the configuration variable "MAX_PASSWORD_LENGTH" specified in the site-options.conf file.
    Specified by:
      `createUser` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User's session id.
      `userName` - Name of the new user.
      `email` - Email of the new user.
      `fullName` - Full name of the new user.
      `organization` - organization name of the new user.
      `locale` - Locale of the new user (currently supported locales are "en" for English, "ja" for Japanese).
      `timeZone` - User's time zone. The ID for a `TimeZone`, either an abbreviation such as "PST", a full name such as "America/Los_Angeles", or a custom ID such as "GMT-8:00".
      `licenseType` - User's license type. Multiple license types can be given for a user as ALM
      `isSuperUser` - Should user be given super-user privileges?
      `isRestrictedUser` - Should user be given restricted privileges?
      `password` - Password of the new user.
    Returns:
      Newly created user object.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `ObjectAlreadyExistsFault` - when the specified user already exists.
      `IllegalArgumentFault` - when one or more user parameters are invalid.
      `UserLimitExceededFault` - The user limit was exceeded
      `SystemFault` - when an unexpected system error occurs.
    Since:
      4.1

  - ### getUserData

    public UserSoapDO getUserData(String sessionId, String username) throws IllegalArgumentFault, InvalidSessionFault, NoSuchObjectFault, SystemFault
    Gets the user details for the given username.
    Note: From 16.7, this method can return the user object even for case-insensitive user names, if the "ALLOW_CASE_INSENSITIVE_LOGIN" configuration variable in the site-options.conf file is set as true.
    Specified by:
      `getUserData` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session id.
      `username` - User name (login name)
    Returns:
      User data.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified object id is invalid.
      `IllegalArgumentFault` - If the username is invalid
      `SystemFault` - when an unexpected system error occurs.
    Since:
      4.2

  - ### getUserData2

    public User2SoapDO getUserData2(String sessionId, String username) throws IllegalArgumentFault, InvalidSessionFault, NoSuchObjectFault, SystemFault
    Gets the user details for the given username.
    Note 1: If disableProfilePicture is enabled in CTF, then it returns profilePictureLink field value as EMPTY string.
    Note 2: From 16.7, this method can return the user object even for case-insensitive user names, if the "ALLOW_CASE_INSENSITIVE_LOGIN" configuration variable in the site-options.conf file is set as true.
    Specified by:
      `getUserData2` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session id.
      `username` - User name (login name)
    Returns:
      User data which includes user's profile picture link.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified object id is invalid.
      `IllegalArgumentFault` - If the username is invalid
      `SystemFault` - when an unexpected system error occurs.
    Since:
      7.0

  - ### getUserByEmail

    public UserSoapDO getUserByEmail(String sessionId, String email) throws IllegalArgumentFault, InvalidSessionFault, NoSuchObjectFault, SystemFault
    Returns the user information for the given email address.
    Specified by:
      `getUserByEmail` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session id.
      `email` - the email address of a registered user
    Returns:
      User data.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified object id is invalid.
      `IllegalArgumentFault` - If the username is invalid
      `SystemFault` - when an unexpected system error occurs.
    Since:
      6.0

  - ### getUserByName

    public UserSoapDO getUserByName(String sessionId, String fullname) throws IllegalArgumentFault, InvalidSessionFault, NoSuchObjectFault, SystemFault
    Returns the user information for the given full name.
    Specified by:
      `getUserByName` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session id.
      `fullname` - the full name of a user
    Returns:
      User data.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified object id is invalid.
      `IllegalArgumentFault` - If the username is invalid
      `SystemFault` - when an unexpected system error occurs.
    Since:
      6.0

  - ### getCurrentUserData

    public UserSoapDO getCurrentUserData(String sessionId) throws InvalidSessionFault
    Gets the user details for a given user session id.
    Specified by:
      `getCurrentUserData` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - user session id
    Returns:
      a UserSoapDO for a given user session id.
    Throws:
      `InvalidSessionFault` - if the given session id is invalid.
    Since:
      5.4

  - ### setUserData2

    public void setUserData2(String sessionId, User2SoapDO userData) throws InvalidSessionFault, NoSuchObjectFault, VersionMismatchFault, LastSuperUserFault, IllegalUserModificationFault, PermissionDeniedFault, SystemFault, UserLimitExceededFault
    Sets the user information.
    Specified by:
      `setUserData2` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session id.
      `userData` - User data which includes user's profile picture link.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified object id is invalid.
      `VersionMismatchFault` - The user version being edited is not the latest one
      `LastSuperUserFault` - The user being edited is the last super user and cannot be un-superusered
      `IllegalUserModificationFault` - If someone tried to edit a restricted property on a special user (like the status on the admin user).
      `PermissionDeniedFault` - if the user does not have permission to do this (only site admins and users with site-wide user edit permissions can perform this operation)
      `UserLimitExceededFault` - The user limit was exceeded
      `SystemFault` - when an unexpected system error occurs.
    Since:
      8.0

  - ### setUserData

    public void setUserData(String sessionId, UserSoapDO userData) throws InvalidSessionFault, NoSuchObjectFault, VersionMismatchFault, LastSuperUserFault, IllegalUserModificationFault, PermissionDeniedFault, SystemFault, UserLimitExceededFault
    Sets the user information. NOTE: Only super-users are allowed to set user data.
    Specified by:
      `setUserData` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session id.
      `userData` - User data
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified object id is invalid.
      `VersionMismatchFault` - The user version being edited is not the latest one
      `LastSuperUserFault` - The user being edited is the last super user and cannot be un-superusered
      `IllegalUserModificationFault` - If someone tried to edit a restricted property on a special user (like the status on the admin user).
      `PermissionDeniedFault` - if the user does not have permission to do this (only site admins and users with site-wide user edit permissions can perform this operation)
      `UserLimitExceededFault` - The user limit was exceeded
      `SystemFault` - when an unexpected system error occurs.
    Since:
      4.3

  - ### findUsers

    public UserSoapList findUsers(String sessionId, String queryString) throws InvalidSessionFault, SearchQuerySyntaxFault, IllegalArgumentFault, SystemFault, NoSuchObjectFault
    Finds a list of users matching a search string.
    Specified by:
      `findUsers` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session id.
      `queryString` - Query string.
    Returns:
      List of users matching search criteria.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `SearchQuerySyntaxFault` - when the specified search query string is syntactically invalid.
      `IllegalArgumentFault` - when the query string is invalid.
      `SystemFault` - when an unexpected system level error occurs.
      `NoSuchObjectFault`
    Since:
      4.1

  - ### getUserList

    @Deprecated public UserSoapList getUserList(String sessionId, SoapFilter soapFilter) throws InvalidSessionFault, SearchQuerySyntaxFault, SystemFault, PermissionDeniedFault
    Deprecated.
    use getUserList2 instead, which includes organization, alternate emails, locale and timeZone details in the result.
    Gets a list of all users on the system.
    Specified by:
      `getUserList` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session id.
      `soapFilter` - Search filter. See UserSoapDO.FILTER constants for supported filter names.
    Returns:
      List of users matching a filter.
    Throws:
      `SearchQuerySyntaxFault` - when the specified search query string is syntactically invalid.
      `SystemFault` - when an unexpected system level error occurs.
      `InvalidSessionFault` - when the specified session id is invalid.
      `PermissionDeniedFault` - if the user does not have permission
    Since:
      4.3

  - ### getUserList2

    public User2SoapList getUserList2(String sessionId, SoapFilter soapFilter) throws InvalidSessionFault, SearchQuerySyntaxFault, SystemFault, PermissionDeniedFault
    Gets a list of all users on the system.
    Specified by:
      `getUserList2` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session id.
      `soapFilter` - Search filter. See UserSoapDO.FILTER constants for supported filter names.
    Returns:
      List of users matching a filter.
    Throws:
      `SearchQuerySyntaxFault` - when the specified search query string is syntactically invalid.
      `SystemFault` - when an unexpected system level error occurs.
      `InvalidSessionFault` - when the specified session id is invalid.
      `PermissionDeniedFault` - if the user does not have permission
    Since:
      8.0

  - ### getProjectAccessLevel

    public int getProjectAccessLevel(String sessionId, String projectId) throws InvalidSessionFault, PermissionDeniedFault, SystemFault, NoSuchObjectFault
    Gets the project's access level. Need to be project or site admin. NoSuchObjectFault will be thrown if a Project Group's id is passed to this API.
    Specified by:
      `getProjectAccessLevel` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session Id
      `projectId` - The project Id
    Returns:
      The project access level.
    Throws:
      `InvalidSessionFault` - If the session is invalid
      `PermissionDeniedFault` - If the user doesn't have permission to perform the operation
      `SystemFault` - when an unexpected system level error occurs.
      `NoSuchObjectFault` - When the project id is not a valid project id or if it is a Project Group's id
    Since:
      4.1-HOTFIX6.1
    See Also:
      - `ProjectSoapDO.PUBLIC`
      - `ProjectSoapDO.GATED_COMMUNITY`
      - `ProjectSoapDO.PRIVATE`

  - ### setProjectAccessLevel

    public void setProjectAccessLevel(String sessionId, String projectId, int accessLevel) throws InvalidSessionFault, PermissionDeniedFault, SystemFault, NoSuchObjectFault, IllegalArgumentFault
    Sets the project access level.
    Note: This is allowed only if the "PROJECT_ACCESS_EDITABLE" configuration's value is true. However, superusers can change the project access even though this configuration is turned off. Use `getConfigurationValue` to check this flag.
    Specified by:
      `setProjectAccessLevel` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session Id
      `projectId` - The project Id
      `accessLevel` - The access level to set the project to
    Throws:
      `InvalidSessionFault` - If the session is invalid
      `PermissionDeniedFault` - If the user doesn't have permission to perform the operation
      `SystemFault` - when an unexpected system level error occurs.
      `NoSuchObjectFault` - When the project id is not a valid project id
      `IllegalArgumentFault` - When the accessLevel is invalid or if the "PROJECT_ACCESS_EDITABLE" configuration's value is false
    Since:
      4.1-HOTFIX6.1
    See Also:
      - `getConfigurationValue(java.lang.String, java.lang.String)`

  - ### getCommentList

    public CommentSoapList getCommentList(String sessionId, String objectId) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, SystemFault
    Gets list of comments for object.
    Specified by:
      `getCommentList` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session id.
      `objectId` - Object id.
    Returns:
      List of comments.
    Throws:
      `InvalidSessionFault` - When the specified session id is invalid.
      `NoSuchObjectFault` - When the object id is not valid
      `PermissionDeniedFault` - If the user doesn't have permission to perform the operation
      `SystemFault` - When an unexpected system level error occurs.
    Since:
      4.2

  - ### listAttachments

    public AttachmentSoapList listAttachments(String sessionId, String objectId) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, SystemFault
    Lists the attachments associated with the object, the attachment itself is not part of the returned object.
    Specified by:
      `listAttachments` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - user session id
      `objectId` - the id of the object from which attachments are to be listed
    Returns:
      List of attachments, does not include the actual file.
    Throws:
      `InvalidSessionFault` - When the specified session id is invalid.
      `NoSuchObjectFault` - When the object id is not valid.
      `PermissionDeniedFault` - If the user doesn't have permission to perform the operation.
      `SystemFault` - If an unexpected system fault occurs.
    Since:
      4.4-SP1

  - ### deleteAttachment

    public void deleteAttachment(String sessionId, String objectId, String attachmentId) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, SystemFault
    Deletes the specified attachment of the specified object.
    Specified by:
      `deleteAttachment` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session id.
      `objectId` - The id of the object from which attachment has to be deleted.
      `attachmentId` - The attachment id.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified object id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      4.4-SP1

  - ### createAssociation

    public void createAssociation(String sessionId, String originId, String targetId, String description) throws InvalidSessionFault, PermissionDeniedFault, SystemFault, NoSuchObjectFault, IllegalArgumentFault
    Creates an association between two objects. User must have view permission on both object and edit permission on at least one of the two objects.
    Specified by:
      `createAssociation` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session id.
      `originId` - the origin object's id (Only CTF objects can be passed as origin id)
      `targetId` - the target object's id (Incase of pluggable app object, provide the object id for targetId parameter)
      `description` - the description for the association
    Throws:
      `InvalidSessionFault` - if the user's session is not valid
      `PermissionDeniedFault` - if the user does not have permission to create the association
      `SystemFault` - if an unexpected system error occurs
      `NoSuchObjectFault` - if the origin or target objects do not exist
      `IllegalArgumentFault` - if a valid association cannot be created between the given objects
    Since:
      4.1

  - ### createAssociationWithTitles

    public void createAssociationWithTitles(String sessionId, String originId, String originTitle, String targetId, String targetTitle, String description) throws InvalidSessionFault, PermissionDeniedFault, SystemFault, NoSuchObjectFault, IllegalArgumentFault
    Creates an association between two objects with specified title. User must have view permission on both object and edit permission on at least one of the two objects. Titles will not be stored for CTF objects.
    Specified by:
      `createAssociationWithTitles` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session id.
      `originId` - the origin object's id (Only CTF objects can be passed as origin id)
      `originTitle` - the origin object's title (As of 7.0 originTitle will be ignored completely)
      `targetId` - the target object's id (For pluggable app object, provide the object id for targetId parameter)
      `targetTitle` - the target object's title (CTF objects title will not be stored. Only title supplied for IAF Objects will be stored)
      `description` - the description for the association
    Throws:
      `InvalidSessionFault` - if the user's session is not valid
      `PermissionDeniedFault` - if the user does not have permission to create the association
      `SystemFault` - if an unexpected system error occurs
      `NoSuchObjectFault` - if the origin or target objects do not exist
      `IllegalArgumentFault` - if a valid association cannot be created between the given objects
    Since:
      7.0

  - ### changeIAObjectTitle

    public void changeIAObjectTitle(String sessionId, String pluggableObjectId, String pluggableObjectTitle) throws InvalidSessionFault, PermissionDeniedFault, SystemFault, NoSuchObjectFault, IllegalArgumentFault
    Updates the title for Pluggable objects only.
    Specified by:
      `changeIAObjectTitle` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session id.
      `pluggableObjectId` - The pluggable app object id, provide the object id for which the title needs to be updated
      `pluggableObjectTitle` - the pluggable object's title (Pluggable objects could pass the object title to be updated in CTF)
    Throws:
      `InvalidSessionFault` - if the user's session is not valid
      `PermissionDeniedFault` - if the user does not have permission to create the association
      `SystemFault` - if an unexpected system error occurs
      `NoSuchObjectFault` - if the origin or target objects do not exist
      `IllegalArgumentFault` - if a valid association cannot be created between the given objects
    Since:
      7.0

  - ### deleteAssociation

    public void deleteAssociation(String sessionId, String originId, String targetId) throws InvalidSessionFault, PermissionDeniedFault, SystemFault, NoSuchObjectFault, IllegalArgumentFault
    Deletes an association between two objects
    Specified by:
      `deleteAssociation` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session id.
      `originId` - the origin object's id (Only CTF objects can be passed as origin id)
      `targetId` - the target object's id
    Throws:
      `InvalidSessionFault` - if the user's session is not valid
      `PermissionDeniedFault` - if the user does not have permission to delete the association
      `SystemFault` - if an unexpected system error occurs
      `NoSuchObjectFault` - if the origin or target objects do not exist
      `IllegalArgumentFault` - if an association does not exist between the given objects
    Since:
      4.2

  - ### deleteProject

    public void deleteProject(String sessionId, String projectId, boolean noNotification, boolean forceDeleteEvenIfChildFound) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, SystemFault, ParentRoleUsedInChildProjectsFault, ChildProjectsFoundFault
    Deletes a project.
    Specified by:
      `deleteProject` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session key.
      `projectId` - The id of the project to be deleted
      `noNotification` - if true no notifications will be sent.
      `forceDeleteEvenIfChildFound` - delete even if there are child projects
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - if we can't find the project with the specified project id
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
      `ParentRoleUsedInChildProjectsFault` - when a role of the project is used in its child projects.
      `ChildProjectsFoundFault` - thrown if any child projects are found for the project that is deleted.
    Since:
      4.3

  - ### getAssociationList

    public AssociationSoapList getAssociationList(String sessionId, String objectId) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, SystemFault
    Lists all of the associations for a given object.
    Specified by:
      `getAssociationList` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - The current session id.
      `objectId` - The id of the object that has associations.
    Returns:
      A list of associations for the given object.
    Throws:
      `InvalidSessionFault` - If the session is not valid.
      `NoSuchObjectFault` - If the object does not exist or is deleted.
      `PermissionDeniedFault` - If you are not allowed to view the object or its associations.
      `SystemFault` - If an unexpected error occurs.
    Since:
      4.2

  - ### getAuditHistoryList

    public AuditHistorySoapList getAuditHistoryList(String sessionId, String objectId, boolean includeDerivedChanges) throws InvalidSessionFault, PermissionDeniedFault, IllegalArgumentFault, NoSuchObjectFault, SystemFault
    Returns the list of changes made to the specified object in reverse chronological order. The entries returned include all updates to an object but does not include the object creation itself. NOTE: The object must be an artifact. All other object types result in a IllegalArgumentFault.
    Specified by:
      `getAuditHistoryList` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - The current session id.
      `objectId` - ID of the object.
      `includeDerivedChanges` - whether we want to get the derived entries(effort fields changed for autosummed artfs)
    Returns:
      List of changes made to the specified object.
    Throws:
      `InvalidSessionFault` - If the session is not valid.
      `NoSuchObjectFault` - If the object does not exist or is deleted.
      `PermissionDeniedFault` - If you are not allowed to view the object or its associations.
      `SystemFault` - If an unexpected error occurs.
      `IllegalArgumentFault` - If the objectId is not an artifact.
    Since:
      4.1-SP3

  - ### getVersionInformationList

    public VersionInformationSoapList getVersionInformationList(String sessionId, String folderId) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, SystemFault
    Obtains a list of versions and last modified dates for the objects residing in the specified folder.
    Specified by:
      `getVersionInformationList` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - Soap session id
      `folderId` - Folder to obtain the list for
    Returns:
      The version information
    Throws:
      `InvalidSessionFault` - when session id is invalid.
      `NoSuchObjectFault` - when the folder does not exist.
      `PermissionDeniedFault` - when permissions are denied for the operation.
      `SystemFault` - when an unexpected error occurs.
    Since:
      4.2

  - ### reindexObject

    public void reindexObject(String sessionId, String objectId) throws InvalidSessionFault, PermissionDeniedFault, NoSuchObjectFault
    Re-indexes the contents of the specified project, folder, item or user. CAUTION: Use this operation sparingly. Indiscriminate use can cause system overload.
    Specified by:
      `reindexObject` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session ID (must be a system administrator to perform this operation)
      `objectId` - Project to re-index.
    Throws:
      `InvalidSessionFault` - when the user session ID is invalid or timed out.
      `PermissionDeniedFault` - when the user does not have sufficient privileges (must be a system admin).
      `NoSuchObjectFault` - when the specified object ID is invalid.
    Since:
      4.1-SP3-HOTFIX9

  - ### getUserEffectiveMode

    public String getUserEffectiveMode(String sessionId) throws InvalidSessionFault
    Gets effective mode (ALM or SCM) for the current user
    Specified by:
      `getUserEffectiveMode` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - Session id.
    Returns:
      effective mode (ALM or SCM) for the current user
    Throws:
      `InvalidSessionFault` - when the user session ID is invalid or timed out.
    Since:
      5.4

  - ### isHostedMode

    public boolean isHostedMode(String sessionId) throws InvalidSessionFault
    Verifies if the TeamForge appserver is running in Hosted Mode.
    Specified by:
      `isHostedMode` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - Session id.
    Returns:
      true if the appserver is running in Hosted Mode.
    Throws:
      `InvalidSessionFault` - when the user session ID is invalid or timed out.
    Since:
      4.3

  - ### getProjectDiskUsage

    public long getProjectDiskUsage(String sessionId, String projectId) throws NoSuchObjectFault, InvalidSessionFault, PermissionDeniedFault, SystemFault
    Gets the filestorage disk utilization of a project specified by a project id
    Specified by:
      `getProjectDiskUsage` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - the soap session key
      `projectId` - the id of the project
    Returns:
      the file storage disk usage of a project
    Throws:
      `NoSuchObjectFault` - thrown if the project was not found.
      `InvalidSessionFault` - thrown if the session id is not valid.
      `PermissionDeniedFault` - thrown if sessionId is not a session started by an admin.
      `SystemFault` - If there was a problem checking the permissions.
    Since:
      4.3

  - ### getProjectQuota

    public long getProjectQuota(String sessionId, String projectId) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, SystemFault
    Gets the disk quota for a project.
    Specified by:
      `getProjectQuota` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - The id of the current session.
      `projectId` - The id of the project.
    Returns:
      The disk quota for the project.
    Throws:
      `InvalidSessionFault` - If the session id is not valid.
      `NoSuchObjectFault` - If the project id does not exist.
      `PermissionDeniedFault` - If the user is not allowed to view this information.
      `SystemFault` - If there was a problem checking the permissions.
    Since:
      4.3

  - ### setProjectQuota

    public void setProjectQuota(String sessionId, String projectId, long quota) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, SystemFault
    Sets the disk quota for a project.
    Specified by:
      `setProjectQuota` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - The id of the current session.
      `projectId` - The id of the project.
      `quota` - The disk quota to be set for the project.
    Throws:
      `InvalidSessionFault` - If the session id is not valid.
      `NoSuchObjectFault` - If the project id does not exist.
      `PermissionDeniedFault` - If the user is not allowed to view this information.
      `SystemFault` - when an unexpected system level error occurs.
    Since:
      4.3

  - ### getConfigurationValue

    public String getConfigurationValue(String sessionId, String keyValue) throws InvalidSessionFault, SystemFault
    Gets Configuration value for the passed key.
    Specified by:
      `getConfigurationValue` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - The id of the current session.
      `keyValue` - of the configuration parameter sought for as String.(Currently supported for 'RequireAssociationOnDocumentCreate', 'RequireArtifactToBeOpenOnDocumentAssociation', 'AllowedAssociationTypeOnDocumentCreate', 'ProjectAccessEditable')
    Returns:
      The configuration value of the key requested.
    Throws:
      `InvalidSessionFault` - when the user session ID is invalid or timed out.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      4.4-SP1

  - ### getProjectByPath

    public ProjectSoapDO getProjectByPath(String sessionId, String projectPath) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, SystemFault
    Gets the project data for a given project path.
    Specified by:
      `getProjectByPath` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - user session id
      `projectPath` - path for which the project info. is requested
    Returns:
      a ProjectSoapDO for a given project path.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified object id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      5.4

  - ### listUsersWithGeneralPermission

    public UserSoapList listUsersWithGeneralPermission(String sessionId, String projectId, String operationString, String folderId) throws InvalidSessionFault, NoSuchObjectFault, IllegalArgumentFault, SystemFault, PermissionDeniedFault
    Returns a list of users who have some permission to perform the given operation in the given folder (Doesn't check default access permission nor site admins)
    Specified by:
      `listUsersWithGeneralPermission` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - user session id
      `projectId` - project for which permission is checked
      `operationString` - The string representation of the operation. This should be in the format <objectTypeName>.<operationCategory>.<operationName>. For a list of operation strings for various object types, see OperationConstants interface. For integrated application, this should be in the format PluggableLink.<id of the integrated app>.<permission name>.<permission name>.
      `folderId` - id of the folder for which permission needs to be checked.
    Returns:
      List of users who have permission on the given object for the given operation
    Throws:
      `InvalidSessionFault` - when session is invalid
      `NoSuchObjectFault` - when the objectId does not exist
      `IllegalArgumentFault` - if the operationString is in an invalid format
      `SystemFault` - any other exceptions
      `PermissionDeniedFault` - If user does not have project view permission
    Since:
      5.4

  - ### hasGeneralPermission

    public boolean hasGeneralPermission(String sessionId, String username, String projectId, String operationString, String objectId) throws InvalidSessionFault, NoSuchObjectFault, IllegalArgumentFault, SystemFault
    Checks if the user has general permission for the resource (specified by objectid). The API doesn't support project group. Use hasPermission instead. Note on an exceptional behavior: It returns false, if the calling user does not have 'Project view' permission.
    Specified by:
      `hasGeneralPermission` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session
      `username` - user for which permission needs to be checked
      `projectId` - Project for which permission is checked
      `operationString` - The string representation of the operation. This should be in the format <objectTypeName>.<operationCategory>.<operationName>. For a list of operation strings for various object types, see OperationConstants interface. For integrated application, this should be in the format PluggableLink.<id of the integrated app>.<permission name>.<permission name>.
      `objectId` - Object id can't be null for which permission needs to be checked.
    Returns:
      Does the user has permission on this resource for this project Note on an exceptional behavior: It returns false, if the calling user does not have 'Project view' permission.
    Throws:
      `InvalidSessionFault` - When Session is invalid
      `NoSuchObjectFault` - When the objectId does not exist
      `IllegalArgumentFault` - Illegal arguments for the operation string
      `SystemFault` - Any other exceptions
    Since:
      6.0

  - ### hasSitewideRolePermission

    public boolean hasSitewideRolePermission(String sessionId, String operationString) throws InvalidSessionFault, SystemFault, IllegalArgumentFault
    Checks if the current user has the given site wide permission to perform the operation.
    Specified by:
      `hasSitewideRolePermission` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session id
      `operationString` - The string representation of the operation. This should be in the format <objectTypeName>.<operationCategory>.<operationName>. For a list of operation strings for various object types, see OperationConstants interface. For integrated application, this should be in the format PluggableLink.<id of the integrated app>.<permission name>.<permission name>.
    Returns:
      true if the user has the permission for the operation at Site-Wide scope, false otherwise.
    Throws:
      `InvalidSessionFault` - when the sessionId is invalid
      `IllegalArgumentFault` - If the operationString is in an invalid format
      `SystemFault` - when an unexpected system error occurs
    Since:
      6.1.1

  - ### setParentProject

    public void setParentProject(String sessionId, String projectId, String parentProjectId) throws InvalidSessionFault, NoSuchObjectFault, IllegalArgumentFault, PermissionDeniedFault, ChangeParentNotAllowedFault, ParentRoleUsedInChildProjectsFault, SystemFault
    Sets the parent of a project.
    Removes the parent, if the given parentProjectId is null or empty.
    NOTE: parentProjectId must not be same as the projectId and must not be one of the child projects. Otherwise, this will result in a IllegalArgumentFault.
    Specified by:
      `setParentProject` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session id.
      `projectId` - Id of the project whose parent needs to be set.
      `parentProjectId` - Id of the project which is to be set as parent; null/empty, removes the parent.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified object id is invalid.
      `IllegalArgumentFault` - if the parent is one of the child projects or is same as the project.
      `PermissionDeniedFault` - if the user does not have permission to do this (only site admins can perform this operation)
      `ChangeParentNotAllowedFault` - if the project is system project (look project).
      `ParentRoleUsedInChildProjectsFault` - if any role of this or ancestor project is used by child of this project.
      `SystemFault` - unexpected error
    Since:
      6.0

  - ### getProjectHierarchyPaths

    public SoapNamedValues getProjectHierarchyPaths(String sessionId, String[] projectIds) throws InvalidSessionFault, SystemFault, PermissionDeniedFault
    Returns the hierarchy path of the given projects. This API doesn't accept a Project Group's id. If one or more of the project ids passed is a Project Group's id, this API throws a SystemFault.
    Specified by:
      `getProjectHierarchyPaths` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session key.
      `projectIds` - An array of project Ids.
    Returns:
      A name-value pair of project hierarchy paths, project id string as name and hierarchy path string of the project as value.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `SystemFault` - when an unexpected system level error occurs or if one of the projectIds passed is a Project Group's Id.
      `PermissionDeniedFault` - when the user has insufficient privileges on any of the given projects.
    Since:
      6.0

  - ### getCurrentTime

    public long getCurrentTime(String sessionId) throws InvalidSessionFault
    Returns the current server time in milliseconds.
    Specified by:
      `getCurrentTime` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - user session id.
    Returns:
      the current server time in milliseconds
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
    Since:
      6.0

  - ### canReceiveOwnUpdates

    public boolean canReceiveOwnUpdates(String sessionId) throws InvalidSessionFault, SystemFault
    Returns whether the current user receives notifications for the user's own updates.
    Specified by:
      `canReceiveOwnUpdates` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - user session id.
    Returns:
      whether the user can receive notifications on own updates
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `SystemFault` - when anything unexpected happen.
    Since:
      6.0

  - ### createProjectGroup

    public ProjectGroupSoapDO createProjectGroup(String sessionId, String title, String description) throws InvalidSessionFault, PermissionDeniedFault, SystemFault, ObjectAlreadyExistsFault, IllegalArgumentFault
    Creates a Project Group.
    Specified by:
      `createProjectGroup` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session key.
      `title` - The title of the project group
      `description` - The description of the project group
    Returns:
      The project group data
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `ObjectAlreadyExistsFault` - when the project group with that name already exists.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
      `IllegalArgumentFault` - when invalid data was passed in
    Since:
      6.0.1

  - ### addProjectsToProjectGroup

    public void addProjectsToProjectGroup(String sessionId, String projectGroupId, String[] projectIds) throws InvalidSessionFault, PermissionDeniedFault, SystemFault, NoSuchObjectFault, IllegalArgumentFault
    Adds the given projects to a project group.
    Specified by:
      `addProjectsToProjectGroup` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - the user session id
      `projectGroupId` - the project group id
      `projectIds` - the project ids
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
      `NoSuchObjectFault` - when the specified object id is invalid.
      `IllegalArgumentFault` - when invalid data was passed in
    Since:
      6.0.1

  - ### listProjectGroups

    public ProjectGroupSoapList listProjectGroups(String sessionId) throws InvalidSessionFault, SystemFault, PermissionDeniedFault
    Returns a list of all projects groups.
    Specified by:
      `listProjectGroups` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session key.
    Returns:
      List of project groups
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `SystemFault` - when an unexpected system level error occurs.
      `PermissionDeniedFault`
    Since:
      6.0.1

  - ### getProjectGroupData

    public ProjectGroupSoapDO getProjectGroupData(String sessionId, String projectGroupId) throws NoSuchObjectFault, InvalidSessionFault, PermissionDeniedFault, SystemFault
    Gets the Project Group Data by project group id.
    Specified by:
      `getProjectGroupData` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - user session id
      `projectGroupId` - project group Id
    Returns:
      projectGroupSoapDO Project Group data
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
      `NoSuchObjectFault` - when the specified object id is invalid.
    Since:
      6.0.1

  - ### setProjectGroupData

    public void setProjectGroupData(String sessionId, ProjectGroupSoapDO projectGroupData) throws InvalidSessionFault, PermissionDeniedFault, SystemFault, NoSuchObjectFault, VersionMismatchFault
    Sets the project group's data with the data represented in the projectGroupData parameter. Please note that this call *does not* set the Project Group's path, even if the passed projectGroupData contains a modified value for the Project Group path.
    Specified by:
      `setProjectGroupData` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - user session id
      `projectGroupData` - project group's ProjectGroupSoapDO
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
      `NoSuchObjectFault` - when the specified object id is invalid.
      `VersionMismatchFault` - when the project group version being edited is not the latest one
    Since:
      6.0.1

  - ### addProjectGroupAdmins

    public void addProjectGroupAdmins(String sessionId, String projectGroupId, String[] usernames) throws InvalidSessionFault, PermissionDeniedFault, SystemFault, NoSuchObjectFault
    Makes the users given in the usernames parameter as administrators of the Project Group represented by the projectGroupId. This operation is atomic in the case of any of the usernames is invalid. Either all of the users passed in will be removed from the admin role or none will be removed. To be precise all the usernames should be valid.
    Specified by:
      `addProjectGroupAdmins` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - user session id
      `projectGroupId` - project group's id
      `usernames` - The username of the users that need to be made as admins for this Project Group
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
      `NoSuchObjectFault` - when the specified object id is invalid or if the projectGroupId is in fact not a Project Group's id.
    Since:
      6.0.1

  - ### removeProjectGroupAdmins

    public void removeProjectGroupAdmins(String sessionId, String projectGroupId, String[] usernames) throws InvalidSessionFault, PermissionDeniedFault, SystemFault, NoSuchObjectFault
    Removes the users given in the usernames parameter from the administrator role of the Project Group represented by the projectGroupId. This operation is atomic in the case of any of the usernames is invalid. Either all of the users passed in will be removed from the admin role or none will be removed. To be precise all the usernames should be valid.
    Specified by:
      `removeProjectGroupAdmins` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - user session id
      `projectGroupId` - project group's id
      `usernames` - The username of the users that need to be made as admins for this Project Group
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
      `NoSuchObjectFault` - when the specified object id is invalid.
    Since:
      6.0.1

  - ### getMemberProjectsForProjectGroup

    public ProjectSoapList getMemberProjectsForProjectGroup(String sessionId, String projectGroupId) throws InvalidSessionFault, PermissionDeniedFault, NoSuchObjectFault, SystemFault
    Gets the Project List for project group.
    Specified by:
      `getMemberProjectsForProjectGroup` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - the user session id
      `projectGroupId` - the project group id
    Returns:
      ProjectList the list of projects.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `NoSuchObjectFault` - when the given projectGroupId does not exist.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      6.0.1

  - ### removeProjectsFromProjectGroup

    public void removeProjectsFromProjectGroup(String sessionId, String[] projectMemberIds, String projectGroupId) throws InvalidSessionFault, PermissionDeniedFault, SystemFault, NoSuchObjectFault
    Removes projects from project group
    Specified by:
      `removeProjectsFromProjectGroup` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - user session id
      `projectMemberIds` - project members in project group
      `projectGroupId` - project group id
    Throws:
      `InvalidSessionFault`
      `SystemFault` - when an unexpected system error occurs.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `NoSuchObjectFault` - when the specified object id is invalid.
    Since:
      6.0.1

  - ### removeProjectGroupMember

    public void removeProjectGroupMember(String sessionId, String projectGroupId, String userName) throws InvalidSessionFault, PermissionDeniedFault, NoSuchObjectFault, RemoveOnlyProjectAdminFault, SystemFault
    Removes a user from a project group.
    Specified by:
      `removeProjectGroupMember` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session id.
      `projectGroupId` - Id of the project group.
      `userName` - Name of the new user.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `NoSuchObjectFault` - when the specified object id is invalid.
      `SystemFault` - when an unexpected system error occurs.
      `RemoveOnlyProjectAdminFault` - attempting to remove last project group admin
    Since:
      6.0.1

  - ### getProjectGroupMemberList

    public ProjectGroupMemberSoapList getProjectGroupMemberList(String sessionId, String projectGroupId) throws InvalidSessionFault, PermissionDeniedFault, NoSuchObjectFault, SystemFault
    Returns project group membership list.
    Specified by:
      `getProjectGroupMemberList` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session id.
      `projectGroupId` - Id of the project group.
    Returns:
      Members of project group.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `NoSuchObjectFault` - when the specified object id is invalid.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      6.0.1

  - ### getProjectGroupsForProject

    @Deprecated public ProjectGroupSoapList getProjectGroupsForProject(String sessionId, String projectId) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, SystemFault
    Deprecated.
    in favour of getProjectGroupsForProject1
    Gets ProjectGroupList by project
    Specified by:
      `getProjectGroupsForProject` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session id.
      `projectId` - project id
    Returns:
      projectgroup list
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified project id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      6.0.1

  - ### getProjectGroupsForProject1

    public ProjectGroupSoapList getProjectGroupsForProject1(String sessionId, String projectId) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, SystemFault
    Gets ProjectGroupList by project and user should have view permission
    Specified by:
      `getProjectGroupsForProject1` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session id.
      `projectId` - project id
    Returns:
      list of projectgroups on which the user has access
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified project id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      8.0

  - ### deleteProjectGroup

    public void deleteProjectGroup(String sessionId, String projectGroupId, boolean forceDeleteEvenIfMemberProjectFound) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, SystemFault, ChildProjectsFoundFault
    Deletes a project group.
    Specified by:
      `deleteProjectGroup` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session key.
      `projectGroupId` - The id of the project group to be deleted
      `forceDeleteEvenIfMemberProjectFound` - delete the project group even if it has member project(s)
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - if we can't find the project group with the specified projectGroupId
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
      `ChildProjectsFoundFault` - if the project group has any member project(s)
    Since:
      6.0.1

  - ### listUsersWithPermissionOnObject

    public UserSoapList listUsersWithPermissionOnObject(String sessionId, String operationString, String objectId, int flag) throws InvalidSessionFault, NoSuchObjectFault, IllegalArgumentFault, SystemFault, PermissionDeniedFault
    Returns the list of users who have the given permission on the given object.
    Specified by:
      `listUsersWithPermissionOnObject` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - User session
      `operationString` - The string representation of the operation. This should be in the format <objectTypeName>.<operationCategory>.<operationName>. For a list of operation strings for various object types, see OperationConstants interface. For integrated application, this should be in the format PluggableLink.<id of the integrated app>.<permission name>.<permission name>.
      `objectId` - The object to check permission for the users with access; It can't be null
      `flag` - either WITHOUT_SUPERUSERS or WITH_SUPERUSERS or WITH_PROJECT_MEMBERS or WITH_ASSIGNED_GROUP_MEMBERS or WITHOUT_GROUP_MEMBERS
    Returns:
      List of Users who have the given permission on the given object
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - When the objectId is invalid or does not exist
      `IllegalArgumentFault` - If the operationString is in an invalid format
      `SystemFault` - when an unexpected system level error occurs.
      `PermissionDeniedFault` - If user does not have project view permission
    Since:
      6.0.1
    See Also:
      - `OperationConstants`
      - `UserSoapDO.WITHOUT_SUPERUSERS`
      - `UserSoapDO.WITH_SUPERUSERS`
      - `UserSoapDO.WITH_PROJECT_MEMBERS`
      - `UserSoapDO.WITH_ASSIGNED_GROUP_MEMBERS`
      - `UserSoapDO.WITHOUT_GROUP_MEMBERS`

  - ### getSessionId

    public String getSessionId(String oneTimeToken) throws LoginFault, SystemFault
    Returns current user session Id using one time token id
    Specified by:
      `getSessionId` in interface `ICollabNetSoap`
    Parameters:
      `oneTimeToken` - a one time token for login.
    Returns:
      Access token.
    Throws:
      `LoginFault` - when the login information is incorrect.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      5.4

  - ### getJSessionId

    public String getJSessionId(String oneTimeToken) throws SystemFault
    Returns current user Jsession Id using one time token id
    Specified by:
      `getJSessionId` in interface `ICollabNetSoap`
    Parameters:
      `oneTimeToken` - a one time token for login.
    Returns:
      User jsession Id.
    Throws:
      `SystemFault` - when an unexpected system error occurs.
    Since:
      5.4

  - ### getWebAndSoapSessionId

    public String getWebAndSoapSessionId(String oneTimeToken) throws SystemFault, LoginFault
    Gets the web and soap session id's separated by &
    Specified by:
      `getWebAndSoapSessionId` in interface `ICollabNetSoap`
    Parameters:
      `oneTimeToken` - a one time token for login.
    Returns:
      a string containing the web and soap session id's separated by &
    Throws:
      `SystemFault` - when an unexpected system error occurs.
      `LoginFault` - when the login information is incorrect
    Since:
      5.4

  - ### getBroadCastMessage

    public String getBroadCastMessage(String sessionId) throws InvalidSessionFault
    Gets broadcast message
    Specified by:
      `getBroadCastMessage` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - the session id.
    Returns:
      current broadcast message
    Throws:
      `InvalidSessionFault` - when fault occurs.
    Since:
      6.1

  - ### getJSessionBySoapId

    @Deprecated public String getJSessionBySoapId(String soapId) throws InvalidSessionFault
    Deprecated.
    instead use `getJSessionId`
    Gets the JsessionID using soap Id.
    Specified by:
      `getJSessionBySoapId` in interface `ICollabNetSoap`
    Parameters:
      `soapId` - webservice soap id
    Returns:
      String jsession id
    Throws:
      `InvalidSessionFault` - when fault occurs.
    Since:
      5.4

  - ### getUserSessionBySoapId

    public String getUserSessionBySoapId(String soapId) throws InvalidSessionFault
    gets the access token using soap Id. This is mostly useful for external integration servers and SvnEdge based replicas.
    Specified by:
      `getUserSessionBySoapId` in interface `ICollabNetSoap`
    Parameters:
      `soapId` - webservice soap id
    Returns:
      the access token
    Throws:
      `InvalidSessionFault` - when fault occurs.
    Since:
      6.1

  - ### createSiteWideLinkedApp

    public String createSiteWideLinkedApp(String sessionId, String title, String applicationUrl, String applicationType, boolean singleSignon) throws InvalidSessionFault, NoSuchObjectFault, IllegalArgumentFault, PermissionDeniedFault, SystemFault
    Create a site-wide linked application and return the created application Id
    Specified by:
      `createSiteWideLinkedApp` in interface `ICollabNetSoap`
    Parameters:
      `title` - A name for the linked application, which appears on the link
      `applicationUrl` - the location url of the linked application
      `applicationType` - determines how the linked app should appear The following are the valid options: 'same' - To open the linked app in same window and it takes over the entire browser window. 'new' - To open the linked app in a new window 'iframe' - To open the linked app in a box in the same window framed by Collabnet's header
      `singleSignon` - Whether single signon should be enabled. When its enabled the authentication is managed through CollabnetTeamForge authentication system. Users are not required to log into linked app after they have logged into TeamForge. When single sign on is not enabled users will be required to log in to the linked application using its native authentication system. Only site admin users can enable this. When non site admin users attempt to enable this, it will be set to false as default.
    Returns:
      A linked application id representing the newly created application
    Throws:
      `InvalidSessionFault` - When Session is invalid
      `NoSuchObjectFault` - When an attempt to retrieve the created linked app results in error
      `IllegalArgumentFault` - If any arguments is of invalid format
      `SystemFault` - Any other exceptions, such as object already exists
      `PermissionDeniedFault` - If user does not have site admin permission
    Since:
      7.0

  - ### createProjectLinkedApp

    public String createProjectLinkedApp(String sessionId, String projectId, String title, String applicationUrl, String iconKey, String iconFileName, String iconMimeType, boolean singleSignon) throws InvalidSessionFault, NoSuchObjectFault, IllegalArgumentFault, PermissionDeniedFault, SystemFault
    Creates linked application in a given project and return the created application Id
    Specified by:
      `createProjectLinkedApp` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - user session
      `projectId` - id of the given project
      `title` - name for the linked application, which appears on the link
      `applicationUrl` - the URL of the linked application
      `singleSignon` - indicates whether single signon should be enabled.
      `iconKey` - the key of the icon (e.g. guid9baa2613b27278f720000c58). This key can be obtained from SimpleFileStorageApp SOAP that is used to upload the icon.
      `iconFileName` - the file name of the icon (e.g. "iconFile.jpg")
      `iconMimeType` - the mime type of the icon (e.g. "image/jpg") Supported formats are: JPG, GIF and PNG.
    Returns:
      A linked application id representing the newly created application
    Throws:
      `InvalidSessionFault` - whem sesion is invalid
      `NoSuchObjectFault` - when an attempt to retrieve the created linked app results in error
      `IllegalArgumentFault` - if any argument is invalid
      `PermissionDeniedFault` - if the user does not have admin permission
      `SystemFault` - any other exception
    Since:
      8.0

  - ### createProjectLinkedApp2

    public String createProjectLinkedApp2(String sessionId, String projectId, String title, String applicationUrl, String iconKey, String iconFileName, String iconMimeType, boolean singleSignon, String toolId) throws InvalidSessionFault, NoSuchObjectFault, IllegalArgumentFault, PermissionDeniedFault, SystemFault
    Creates linked application in a given project and return the created application Id
    Specified by:
      `createProjectLinkedApp2` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - user session
      `projectId` - id of the given project
      `title` - name for the linked application, which appears on the link
      `applicationUrl` - the URL of the linked application
      `singleSignon` - indicates whether single signon should be enabled.
      `iconKey` - the key of the icon (e.g. guid9baa2613b27278f720000c58). This key can be obtained from SimpleFileStorageApp SOAP that is used to upload the icon.
      `iconFileName` - the file name of the icon (e.g. "iconFile.jpg")
      `toolId` - the id of tool in orchestrate
      `iconMimeType` - the mime type of the icon (e.g. "image/jpg") Supported formats are: JPG, GIF and PNG.
    Returns:
      A linked application id representing the newly created application
    Throws:
      `InvalidSessionFault` - whem sesion is invalid
      `NoSuchObjectFault` - when an attempt to retrieve the created linked app results in error
      `IllegalArgumentFault` - if any argument is invalid
      `PermissionDeniedFault` - if the user does not have admin permission
      `SystemFault` - any other exception
    Since:
      8.2

  - ### getLinkedApplicationData

    public LinkedApplicationSoapDO getLinkedApplicationData(String sessionId, String linkedAppId) throws IllegalArgumentFault, InvalidSessionFault, NoSuchObjectFault, SystemFault, PermissionDeniedFault
    Gets Linked Application Data by Linked Application Id
    Specified by:
      `getLinkedApplicationData` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` -
      `linkedAppId` -
    Returns:
      Linked Application Soap Data
    Throws:
      `IllegalArgumentFault`
      `InvalidSessionFault`
      `NoSuchObjectFault`
      `SystemFault`
      `PermissionDeniedFault`
    Since:
      8.0

  - ### getLinkedApplicationData2

    public LinkedApplication2SoapDO getLinkedApplicationData2(String sessionId, String linkedAppId) throws IllegalArgumentFault, InvalidSessionFault, NoSuchObjectFault, SystemFault, PermissionDeniedFault
    Gets Linked Application Data by Linked Application Id
    Specified by:
      `getLinkedApplicationData2` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` -
      `linkedAppId` -
    Returns:
      Linked Application2 Soap Data
    Throws:
      `IllegalArgumentFault`
      `InvalidSessionFault`
      `NoSuchObjectFault`
      `SystemFault`
      `PermissionDeniedFault`
    Since:
      8.2

  - ### setLinkedApplicationData

    public void setLinkedApplicationData(String sessionId, LinkedApplicationSoapDO linkedApplicationSoapDO, String iconKey, String iconFileName, String iconMimeType) throws InvalidSessionFault, PermissionDeniedFault, NoSuchObjectFault, SystemFault, IllegalArgumentFault, VersionMismatchFault
    Sets the linked application.
    Specified by:
      `setLinkedApplicationData` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - user session
      `linkedApplicationSoapDO` - the linkedApplication Data Object
      `iconKey` - the key of the icon (e.g. guid9baa2613b27278f720000c58)
      `iconFileName` - the file name of the icon (e.g. "iconFile.jpg")
      `iconMimeType` - the mime type of the icon (e.g. "image/jpg") Supported formats are: JPG, GIF and PNG.
    Throws:
      `InvalidSessionFault`
      `PermissionDeniedFault`
      `NoSuchObjectFault`
      `SystemFault`
      `IllegalArgumentFault`
      `VersionMismatchFault`
    Since:
      8.0

  - ### setLinkedApplicationData2

    public void setLinkedApplicationData2(String sessionId, LinkedApplication2SoapDO linkedApplication2SoapDO, String iconKey, String iconFileName, String iconMimeType) throws InvalidSessionFault, PermissionDeniedFault, NoSuchObjectFault, SystemFault, IllegalArgumentFault, VersionMismatchFault
    Sets the linked application.
    Specified by:
      `setLinkedApplicationData2` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - user session
      `linkedApplication2SoapDO` - the linkedApplication Data Object
      `iconKey` - the key of the icon (e.g. guid9baa2613b27278f720000c58)
      `iconFileName` - the file name of the icon (e.g. "iconFile.jpg")
      `iconMimeType` - the mime type of the icon (e.g. "image/jpg") Supported formats are: JPG, GIF and PNG.
    Throws:
      `InvalidSessionFault`
      `PermissionDeniedFault`
      `NoSuchObjectFault`
      `SystemFault`
      `IllegalArgumentFault`
      `VersionMismatchFault`
    Since:
      8.2

  - ### deleteLinkedApp

    public void deleteLinkedApp(String sessionId, String linkedAppId) throws InvalidSessionFault, NoSuchObjectFault, IllegalArgumentFault, PermissionDeniedFault, VersionMismatchFault, SystemFault
    Delete the linked application.
    Specified by:
      `deleteLinkedApp` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - the session id
      `linkedAppId` - - LinkedApplication Id which is requested to be deleted
    Throws:
      `InvalidSessionFault`
      `NoSuchObjectFault`
      `IllegalArgumentFault`
      `PermissionDeniedFault`
      `SystemFault`
      `VersionMismatchFault`
    Since:
      8.0

  - ### listSiteWideLinkedApps

    public LinkedApplicationSoapList listSiteWideLinkedApps(String sessionId) throws InvalidSessionFault, PermissionDeniedFault, SystemFault, NoSuchObjectFault
    Lists site-wide linked applications.
    Specified by:
      `listSiteWideLinkedApps` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - user session
    Returns:
      LinkedApplicationSoapList
    Throws:
      `InvalidSessionFault`
      `PermissionDeniedFault`
      `SystemFault`
      `NoSuchObjectFault`

  - ### listProjectLinkedApps

    public LinkedApplicationSoapList listProjectLinkedApps(String sessionId, String projectId) throws IllegalArgumentFault, InvalidSessionFault, PermissionDeniedFault, SystemFault, NoSuchObjectFault
    Lists project-level linked applications for a given project.
    Specified by:
      `listProjectLinkedApps` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - user session
      `projectId` - id of the given project
    Returns:
      LinkedapplicationSoapList
    Throws:
      `IllegalArgumentFault`
      `InvalidSessionFault`
      `PermissionDeniedFault`
      `SystemFault`
      `NoSuchObjectFault`

  - ### listProjectLinkedApps2

    public LinkedApplication2SoapList listProjectLinkedApps2(String sessionId, String projectId) throws IllegalArgumentFault, InvalidSessionFault, PermissionDeniedFault, SystemFault, NoSuchObjectFault
    Lists project-level linked applications for a given project.
    Specified by:
      `listProjectLinkedApps2` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - user session
      `projectId` - id of the given project
    Returns:
      LinkedapplicationSoapList
    Throws:
      `IllegalArgumentFault`
      `InvalidSessionFault`
      `PermissionDeniedFault`
      `SystemFault`
      `NoSuchObjectFault`
    Since:
      8.2

  - ### isSoapRedirectPostOnlyMode

    public boolean isSoapRedirectPostOnlyMode(String sessionId) throws InvalidSessionFault
    Verifies if TeamForge is running in SoapRedirect Post-Only mode.
    Specified by:
      `isSoapRedirectPostOnlyMode` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - Session id.
    Returns:
      true if Teamforge is running in SoapRedirect Post-Only Mode.
    Throws:
      `InvalidSessionFault` - when the user session ID is invalid or timed out.
    Since:
      7.1

  - ### getOneTimeToken

    public String getOneTimeToken(String sessionId) throws InvalidSessionFault
    Gives one time token for active sessionId.
    Specified by:
      `getOneTimeToken` in interface `ICollabNetSoap`
    Parameters:
      `sessionId` - Session id.
    Returns:
      one time token.
    Throws:
      `InvalidSessionFault` - when the user session ID is invalid or timed out.
    Since:
      8.0