Package com.collabnet.ce.soap60.webservices.docman

# Class DocumentAppSoap

java.lang.Object
com.collabnet.ce.soap60.webservices.WebService
com.collabnet.ce.soap60.webservices.docman.DocumentAppSoap

All Implemented Interfaces:
  `IDocumentAppSoap`

public class DocumentAppSoap extends WebService implements IDocumentAppSoap
Provides SOAP web service for document manager application.

Change History
Version 18.1

- Modified to ignore the time portion of the custom Date field's value.

Version 17.1

- addTextField: New method to add a custom text field to documents.
- addSingleSelectChildField: New method to add a custom single select field to documents.
- addSingleSelectField: New method to add a custom single select field to documents.
- addMultiSelectField: New method to add a custom multi select field to documents.
- addUserSelectField: New method to add a custom User selection field to documents.
- addDateField: New method to add a custom Date field to documents.
- getFields: New method to get the custom/flex-fields associated with a specific document root folder.
- setField: New method to set a custom/flex-field that is associated with a specific document root folder.
- deleteField: New method to delete a custom/flex-field.
- addSeparator: New method to add a separator to a document root folder.
- deleteSeparator: New method to delete a separator of a document root folder layout.
- getOrderedDocumentFields: New method to get the ordered list of all custom/flex-fields and
  separators associated with the given project's document root folder.
- reorderDocumentFields: New method to reorder the list of custom/flex-fields and separators.
- createDocument3 New method, to support create document with flex fields
- createDocumentWithUrl3 New method, to support create document with url, flex fields
- setDocumentData3 New method, to support create update with flex fields
- setDocumentDataWithAssociation3 New method, to support update document with association, flex fields
- moveDocument3 New method, to support move document with flex fields
- getDocumentData3 New method to support get document data with flex fields
- getDocumentList3 New method to list all documents within a document folder.
- findDocuments3 New method to find a list of documents matching a search string.

Version 8.1

- getDocumentVersions: New method to list all the versions of a document.
- deleteDocumentByVersions: New method to delete particular version(s) of a document.
- createDocument2: New method to create a document with createDownloadRestricted and allowForceUnlock
  attributes.
- createDocumentWithUrl2: New method to create a document for a URL with createDownloadRestricted and
  allowForceUnlock attributes.
- getDocumentData2: New method to get the document data.
- setDocumentData2: New method to set the document data.
- setDocumentDataWithAssociation2: New method to set the document data with association.
- getDocumentList2: New method to get the list of all documents within a document folder.
- findDocuments2: New method to find a list of documents matching a search string.
- moveDocument2: New method to move a document to a specified target folder.

Version 4.4

- setDocumentDataWithUrl: Removed in 4.4. Use DocumentSoapDO.setFileUrl and setDocumentData instead.
- getDocumentFileUrl: Removed in 4.4. Use getDocumentData and call DocumentSoapDO.getFileUrl instead.

Version 6.2

- getDocumentFolderList: No Change in the parameters, however now the api returns the following :
  a)When project id is passed with recursive = false, the user obtains only the first matching document folders in the tree from root for which the user has persmission.
  b)When project id is passed with recursive = true, the user obtains all the document folders and descendants for which the user has permission.
  c)When a document folder id is passed with recursive = false, the first matching child folders in the tree from the passed folder for which the user has permission are retrieved.(Not the passed folder)
  d)When a document folder id is passed with recursive = true, the children folders and descendants which the user has permission are retrieved.(Not the passed folder)
  (In Earlier version [i.e prior to CTF6.2] when project id was passed the api would return the document root folder, the current api would return root folder only if the user has permission to the root folder).

Since:
  4.1

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DocumentAppSoap()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addDateField(String sessionId, String projectId, String fieldName, boolean isRequired, boolean isDisabled, boolean isHiddenOnCreate, String helpText)`
  Adds a custom Date field to documents.
  `void`
  `addMultiSelectField(String sessionId, String projectId, String fieldName, int displayLines, boolean isRequired, boolean isDisabled, boolean isHiddenOnCreate, String[] fieldValues, String[] defaultValues, String helpText)`
  Adds a custom multi select field to documents.
  `void`
  `addSeparator(String sessionId, String projectId, String separatorType, String separatorLabel)`
  Adds a separator to a document root folder.
  `void`
  `addSingleSelectChildField(String sessionId, String projectId, String fieldName, String[] fieldValues, String parentFieldId, SoapNamedValues parentChildFieldValueMap, String helpText)`
  Adds a custom single select field to documents.
  `void`
  `addSingleSelectField(String sessionId, String projectId, String fieldName, boolean isRequired, boolean isDisabled, boolean isHiddenOnCreate, String[] fieldValues, String defaultValue, String helpText)`
  Adds a custom single select field to documents.
  `void`
  `addTextField(String sessionId, String projectId, String fieldName, int displayColumns, int displayLines, boolean isRequired, boolean isDisabled, boolean isHiddenOnCreate, String defaultValue, String helpText, String pattern)`
  Adds a custom text field to documents.
  `void`
  `addUserSelectField(String sessionId, String projectId, String fieldName, int displayLines, boolean isRequired, boolean isDisabled, boolean isHiddenOnCreate, String[] defaultValues, String userFilter, String helpText)`
  Adds a custom User selection field to documents.
  `DocumentSoapDO`
  `createDocument(String sessionId, String parentId, String title, String description, String versionComment, String status, boolean createLocked, String fileName, String mimeType, String fileId, String associationId, String associationDesc)`
  Deprecated.
  in favor of createDocument2
  `Document2SoapDO`
  `createDocument2(String sessionId, String parentId, String title, String description, String versionComment, String status, boolean createLocked, boolean createDownloadRestricted, boolean allowForceUnlock, String fileName, String mimeType, String fileId, String associationId, String associationDesc)`
  Deprecated.
  in favor of createDocument3
  `Document3SoapDO`
  `createDocument3(String sessionId, String parentId, String title, String description, String versionComment, String status, boolean createLocked, boolean createDownloadRestricted, boolean allowForceUnlock, String fileName, String mimeType, String fileId, String associationId, String associationDesc, SoapFieldValues flexFields)`
  Creates a new document with the specified title, description, etc.
  `DocumentFolderSoapDO`
  `createDocumentFolder(String sessionId, String parentId, String title, String description)`
  Creates a new document folder with the specified title, description, etc.
  `DocumentSoapDO`
  `createDocumentWithUrl(String sessionId, String parentId, String title, String description, String versionComment, String status, boolean createLocked, String fileUrl, String associationId, String associationDesc)`
  Deprecated.
  in favor of createDocumentWithUrl2
  `Document2SoapDO`
  `createDocumentWithUrl2(String sessionId, String parentId, String title, String description, String versionComment, String status, boolean createLocked, boolean createDownloadRestricted, boolean allowForceUnlock, String fileUrl, String associationId, String associationDesc)`
  Deprecated.
  in favor of createDocumentWithUrl3
  `Document3SoapDO`
  `createDocumentWithUrl3(String sessionId, String parentId, String title, String description, String versionComment, String status, boolean createLocked, boolean createDownloadRestricted, boolean allowForceUnlock, String fileUrl, String associationId, String associationDesc, SoapFieldValues flexFields)`
  Creates a new document with the specified title, description, etc.
  `DocumentReviewSoapDO`
  `createReview(String sessionId, String documentId, int version, String title, String description, Date dueDate, String[] requiredReviewers, String[] optionalReviewers, boolean attachDocument)`
  Creates a document review cycle
  `void`
  `deleteDocument(String sessionId, String documentId)`
  Deletes a document.Locked document(s) cannot be deleted, When a locked document's id is passed to this API, a SystemFault will be thrown.
  `void`
  `deleteDocumentByVersions(String sessionId, String documentId, int[] versionNumbers)`
  Deletes particular version(s) of a document.Locked document version(s) cannot be deleted, When a locked document's id is passed to this API, a SystemFault will be thrown.
  `void`
  `deleteDocumentFolder(String sessionId, String folderId)`
  Deletes a document folder with the specified id.
  `void`
  `deleteField(String sessionId, String fieldId)`
  Deletes a custom/flex-field.
  `void`
  `deleteSeparator(String sessionId, String layoutId)`
  Deletes a separator of a document root folder layout.
  `DocumentSoapList`
  `findDocuments(String sessionId, String queryString, String projectId, boolean searchAttachments, boolean currentVersionsOnly)`
  Deprecated.
  in favor of findDocuments2
  `Document2SoapList`
  `findDocuments2(String sessionId, String queryString, String projectId, boolean searchAttachments, boolean currentVersionsOnly)`
  Finds a list of documents matching a search string.
  `Document3SoapList`
  `findDocuments3(String sessionId, String queryString, String projectId, boolean searchAttachments, boolean currentVersionsOnly)`
  Finds a list of documents matching a search string.
  `DocumentReviewSoapList`
  `getAssignedDocumentReviewList(String sessionId, String username)`
  Lists all document reviews assigned to a user for review.
  `DocumentSoapDO`
  `getDocumentData(String sessionId, String documentId, int documentVersion)`
  Deprecated.
  in favor of getDocumentData2
  `Document2SoapDO`
  `getDocumentData2(String sessionId, String documentId, int documentVersion)`
  Deprecated.
  in favor of getDocumentData3
  `Document3SoapDO`
  `getDocumentData3(String sessionId, String documentId, int documentVersion)`
  Gets specified document data.
  `String`
  `getDocumentFileId(String sessionId, String documentId, int documentVersion)`
  Returns a the file id associated with the document file.
  `DocumentFolderSoapDO`
  `getDocumentFolderData(String sessionId, String folderId)`
  Gets detailed data on a document folder
  `DocumentFolderSoapList`
  `getDocumentFolderList(String sessionId, String parentId, boolean recursive)`
  Lists document folders.
  `DocumentSoapList`
  `getDocumentList(String sessionId, String parentId, SoapFilter[] filters)`
  Deprecated.
  in favor of getDocumentList2
  `Document2SoapList`
  `getDocumentList2(String sessionId, String parentId, SoapFilter[] filters)`
  Lists all documents within a document folder.
  `Document3SoapList`
  `getDocumentList3(String sessionId, String documentFolderId, SoapFilter[] filters)`
  Lists all documents within a document folder.
  `DocumentReviewSoapList`
  `getDocumentReviewList(String sessionId, String containerId, SoapFilter[] filters)`
  Lists all document reviews within a project or a document.
  `Document2SoapList`
  `getDocumentVersions(String sessionId, String documentId, boolean includeDeletedVersions)`
  Lists all the versions of a document.
  `DocumentFolderFieldSoapDO[]`
  `getFields(String sessionId, String projectId)`
  Returns the custom/flex-fields associated with the given project's document root folder.
  `OrderedDocumentFolderFieldSoapList`
  `getOrderedDocumentFields(String sessionId, String projectId)`
  Returns all the custom/flex-fields and the separators associated with the given project's document root folder with layout information.
  `DocumentSoapDO`
  `moveDocument(String sessionId, String documentId, String targetFolderId)`
  Deprecated.
  in favor of moveDocument2
  `Document2SoapDO`
  `moveDocument2(String sessionId, String documentId, String targetFolderId)`
  Deprecated.
  in favor of moveDocument3
  `Document3SoapDO`
  `moveDocument3(String sessionId, String documentId, String targetFolderId)`
  Moves a document to a specified target folder.
  `DocumentFolderSoapDO`
  `moveDocumentFolder(String sessionId, String folderId, String destFolderId)`
  Moves document folder
  `void`
  `reorderDocumentFields(String sessionId, String projectId, String[] layoutIds)`
  Sets a new order of the fields and the separators within the given project's document root folder.
  `void`
  `setDocumentData(String sessionId, DocumentSoapDO documentData, String fileId)`
  Deprecated.
  in favor of setDocumentData2
  `void`
  `setDocumentData2(String sessionId, Document2SoapDO documentData, String fileId)`
  Deprecated.
  in favor of setDocumentData3
  `void`
  `setDocumentData3(String sessionId, Document3SoapDO documentData, String fileId)`
  Sets specified document data.
  `void`
  `setDocumentDataWithAssociation(String sessionId, DocumentSoapDO documentData, String fileId, String associationId, String associationComment)`
  Deprecated.
  in favor of setDocumentDataWithAssociation2
  `void`
  `setDocumentDataWithAssociation2(String sessionId, Document2SoapDO documentData, String fileId, String associationId, String associationComment)`
  Deprecated.
  in favor of setDocumentDataWithAssociation3
  `void`
  `setDocumentDataWithAssociation3(String sessionId, Document3SoapDO documentData, String fileId, String associationId, String associationComment)`
  Sets specified document data with association.
  `void`
  `setDocumentFolderData(String sessionId, DocumentFolderSoapDO documentFolderData)`
  Sets detailed data on a document folder
  `void`
  `setField(String sessionId, DocumentFolderFieldSoapDO fieldData)`
  Sets a custom/flex-field.

  ### 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

  - ### DocumentAppSoap

    public DocumentAppSoap()

- ## Method Details

  - ### getDocumentFolderList

    public DocumentFolderSoapList getDocumentFolderList(String sessionId, String parentId, boolean recursive) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, SystemFault
    Lists document folders.
    Specified by:
      `getDocumentFolderList` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - SOAP session id.
      `parentId` - Parent document folder id -or- project id for listing root document folder.
      `recursive` - Show subfolders of the folders returned
    Returns:
      Document folder list. Based on the input parameters the following details are returned:
      a)When project id is passed with recursive = false, the user obtains only the first matching document folders in the tree from root for which the user has persmission.

      b)When project id is passed with recursive = true, the user obtains all the document folders and descendants for which the user has permission.
      c)When a document folder id is passed with recursive = false, the first matching child folders in the tree from the passed folder for which the user has permission are retrieved.(Not the passed folder)
      d)When a document folder id is passed with recursive = true, the children folders and descendants which the user has permission are retrieved.(Not the passed folder)

    Throws:
      `InvalidSessionFault` - when the sessionId is invalid.
      `PermissionDeniedFault` - when permission is denied for the specified operation.
      `NoSuchObjectFault` - when the specified object is invalid.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      4.1

  - ### setDocumentFolderData

    public void setDocumentFolderData(String sessionId, DocumentFolderSoapDO documentFolderData) throws InvalidSessionFault, PermissionDeniedFault, NoSuchObjectFault, VersionMismatchFault, SystemFault
    Sets detailed data on a document folder
    Specified by:
      `setDocumentFolderData` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - SOAP session id.
      `documentFolderData` - Data to apply.
    Throws:
      `InvalidSessionFault` - when the sessionId is invalid.
      `PermissionDeniedFault` - when permission is denied for the specified operation.
      `NoSuchObjectFault` - when the specified object id does not exist.
      `VersionMismatchFault` - when the specified object has changed in SourceForge.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      4.2

  - ### getDocumentFolderData

    public DocumentFolderSoapDO getDocumentFolderData(String sessionId, String folderId) throws InvalidSessionFault, PermissionDeniedFault, NoSuchObjectFault, IllegalArgumentFault, SystemFault
    Gets detailed data on a document folder
    Specified by:
      `getDocumentFolderData` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - SOAP session id.
      `folderId` - Folder id to get detailed data for.
    Returns:
      Document Folder data object.
    Throws:
      `InvalidSessionFault` - when the sessionId is invalid.
      `PermissionDeniedFault` - when permission is denied for the specified operation.
      `NoSuchObjectFault` - when the specified object id does not exist.
      `IllegalArgumentFault` - when an argument is invalid.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      4.2

  - ### getAssignedDocumentReviewList

    public DocumentReviewSoapList getAssignedDocumentReviewList(String sessionId, String username) throws InvalidSessionFault, PermissionDeniedFault, NoSuchObjectFault, SystemFault
    Lists all document reviews assigned to a user for review.
    Specified by:
      `getAssignedDocumentReviewList` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - SOAP session id.
      `username` - User to whom reviews are assigned for review (required or optional).
    Returns:
      Document review list.
    Throws:
      `InvalidSessionFault` - when sessionId is invalid.
      `NoSuchObjectFault` - when the specified user does not exist.
      `PermissionDeniedFault` - when permission is denied.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      4.2

  - ### getDocumentReviewList

    public DocumentReviewSoapList getDocumentReviewList(String sessionId, String containerId, SoapFilter[] filters) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, InvalidFilterFault, SystemFault
    Lists all document reviews within a project or a document. The following are the only permitted combinations:
    - containerId = null, filters=(createdBy="username" AND status="open"}: Returns all open reviews created by the user.
    - containerId = documentId, filters = null: Returns a list of reviews (open and closed) for the document.
    Specified by:
      `getDocumentReviewList` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - SOAP session id.
      `containerId` - null (for reviews across projects) or document ID (for reviews associated with document).
      `filters` - Filters to apply for listing the reviews.
    Returns:
      Document review list.
    Throws:
      `InvalidSessionFault` - when sessionId is invalid.
      `NoSuchObjectFault` - when the document does not exist.
      `PermissionDeniedFault` - when permission is denied.
      `InvalidFilterFault` - when the specified filters are invalid.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      4.2

  - ### createReview

    public DocumentReviewSoapDO createReview(String sessionId, String documentId, int version, String title, String description, Date dueDate, String[] requiredReviewers, String[] optionalReviewers, boolean attachDocument) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, IllegalArgumentFault, ObjectAlreadyExistsFault, SystemFault
    Creates a document review cycle
    Specified by:
      `createReview` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - SOAP session id.
      `documentId` - the id of the document for which the review is to be created.
      `version` - the version of the document
      `title` - The title of the review
      `description` - The description of the review
      `dueDate` - The due date of the review
      `requiredReviewers` - an array of usernames of required reviewers
      `optionalReviewers` - an array of usernames of optional reviewers
      `attachDocument` - whether to attach the document to the email or not
    Returns:
      The data object of the review
    Throws:
      `InvalidSessionFault` - when sessionId is invalid.
      `NoSuchObjectFault` - when there is no document corresponding to the document Id
      `PermissionDeniedFault` - when the user has insufficient privileges
      `IllegalArgumentFault` - for incorrect arguments. This can happen if the required reviewers array is empty (or) if the username in either required or optional reviewers is not valid (or) a user was specified a both a required reviewer and an optional reviewer (or) The dueDate was a date in the past.
      `ObjectAlreadyExistsFault` - if the review already exists on this document
      `SystemFault` - when an unexpected system error occurs.

  - ### getDocumentList

    @Deprecated public DocumentSoapList getDocumentList(String sessionId, String parentId, SoapFilter[] filters) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, InvalidFilterFault, SystemFault
    Deprecated.
    in favor of getDocumentList2
    Lists all documents within a document folder.
    Change History
    Version 4.2
    - Added additional parameter `filters` for future use. Must be null or empty for now.
    Specified by:
      `getDocumentList` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - SOAP session id.
      `parentId` - Document folder id (obtained from getDocumentFolderList).
      `filters` - not supported.
    Returns:
      Document list.
    Throws:
      `InvalidSessionFault` - when the sessionId is invalid.
      `PermissionDeniedFault` - when permission is denied for the specified operation.
      `NoSuchObjectFault` - when the specified object is invalid.
      `SystemFault` - when an unexpected system error occurs.
      `InvalidFilterFault` - when an invalid filter is specified.
    Since:
      4.1

  - ### getDocumentList2

    public Document2SoapList getDocumentList2(String sessionId, String parentId, SoapFilter[] filters) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, InvalidFilterFault, SystemFault
    Lists all documents within a document folder.
    Change History
    Version 8.1
    - downloadRestricted and allowForceUnlock flags were added to Document2SoapRow.
    Version 4.2
    - Added additional parameter `filters` for future use. Must be null or empty for now.
    Specified by:
      `getDocumentList2` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - SOAP session id.
      `parentId` - Document folder id (obtained from getDocumentFolderList).
      `filters` - not supported.
    Returns:
      Document list.
    Throws:
      `InvalidSessionFault` - when the sessionId is invalid.
      `NoSuchObjectFault` - when the specified object is invalid.
      `PermissionDeniedFault` - when permission is denied for the specified operation.
      `InvalidFilterFault` - when an invalid filter is specified.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      8.1

  - ### getDocumentList3

    public Document3SoapList getDocumentList3(String sessionId, String documentFolderId, SoapFilter[] filters) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, InvalidFilterFault, SystemFault
    Lists all documents within a document folder.
    Change History
    Version 17.1
    - This method now returns data for all flex fields, whether they have values or not. Flex fields with no values will have NULL values in the values[] array.
    Version 8.1
    - downloadRestricted and allowForceUnlock flags were added to Document2SoapRow.
    Version 4.2
    - Added additional parameter `filters` for future use. Must be null or empty for now.
    Specified by:
      `getDocumentList3` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - SOAP session id.
      `documentFolderId` - Document folder id (obtained from getDocumentFolderList).
      `filters` - not supported.
    Returns:
      Document list.
    Throws:
      `InvalidSessionFault` - when the sessionId is invalid.
      `NoSuchObjectFault` - when the specified object is invalid.
      `PermissionDeniedFault` - when permission is denied for the specified operation.
      `InvalidFilterFault` - when an invalid filter is specified.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      17.1

  - ### findDocuments

    @Deprecated public DocumentSoapList findDocuments(String sessionId, String queryString, String projectId, boolean searchAttachments, boolean currentVersionsOnly) throws InvalidSessionFault, NoSuchObjectFault, SearchQuerySyntaxFault, SystemFault
    Deprecated.
    in favor of findDocuments2
    Finds a list of documents matching a search string.
    Specified by:
      `findDocuments` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - User session id.
      `queryString` - Query string.
      `projectId` - The project in which to find documents. (if null, search all projects)
      `searchAttachments` - Whether to search attachments.
      `currentVersionsOnly` - Whether to search only current versions of documents.
    Returns:
      List of documents matching search criteria.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified project id is invalid.
      `SearchQuerySyntaxFault` - when the specified search query string is syntactically invalid.
      `SystemFault` - when an unexpected system level error occurs.
    Since:
      4.1

  - ### findDocuments2

    public Document2SoapList findDocuments2(String sessionId, String queryString, String projectId, boolean searchAttachments, boolean currentVersionsOnly) throws InvalidSessionFault, NoSuchObjectFault, SearchQuerySyntaxFault, SystemFault
    Finds a list of documents matching a search string.
    Specified by:
      `findDocuments2` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - User session id.
      `queryString` - Query string.
      `projectId` - The project in which to find documents. (if null, search all projects)
      `searchAttachments` - Whether to search attachments.
      `currentVersionsOnly` - Whether to search only current versions of documents.
    Returns:
      List of documents matching search criteria.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified project id is invalid.
      `SearchQuerySyntaxFault` - when the specified search query string is syntactically invalid.
      `SystemFault` - when an unexpected system level error occurs.
    Since:
      8.1

  - ### findDocuments3

    public Document3SoapList findDocuments3(String sessionId, String queryString, String projectId, boolean searchAttachments, boolean currentVersionsOnly) throws InvalidSessionFault, NoSuchObjectFault, SearchQuerySyntaxFault, SystemFault, IllegalArgumentFault
    Finds a list of documents matching a search string.
    Specified by:
      `findDocuments3` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - User session id.
      `queryString` - Query string.
      `projectId` - The project in which to find documents. (if null, search all projects)
      `searchAttachments` - Whether to search attachments.
      `currentVersionsOnly` - Whether to search only current versions of documents.
    Returns:
      List of documents matching search criteria.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified project id is invalid.
      `SearchQuerySyntaxFault` - when the specified search query string is syntactically invalid.
      `SystemFault` - when an unexpected system level error occurs.
      `IllegalArgumentFault` - when the specified query string is invalid.
    Since:
      17.1

  - ### createDocumentFolder

    public DocumentFolderSoapDO createDocumentFolder(String sessionId, String parentId, String title, String description) throws InvalidSessionFault, PermissionDeniedFault, NoSuchObjectFault, IllegalArgumentFault, SystemFault, ObjectAlreadyExistsFault
    Creates a new document folder with the specified title, description, etc.
    Specified by:
      `createDocumentFolder` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - SOAP session id.
      `parentId` - Folder id in which to create this folder.
      `title` - Document folder title.
      `description` - Document folder description.
    Returns:
      Document Folder data object.
    Throws:
      `InvalidSessionFault` - when the sessionId is invalid.
      `PermissionDeniedFault` - when permission is denied for the specified operation.
      `NoSuchObjectFault` - when a specified object is invalid.
      `IllegalArgumentFault` - when one or more of the parameters are invalid.
      `SystemFault` - when an unexpected system error occurs.
      `ObjectAlreadyExistsFault` - when the document folder specified already exists.
    Since:
      4.2

  - ### moveDocumentFolder

    public DocumentFolderSoapDO moveDocumentFolder(String sessionId, String folderId, String destFolderId) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, SystemFault
    Moves document folder
    Specified by:
      `moveDocumentFolder` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - SOAP session id.
      `folderId` - ID of folder to move.
      `destFolderId` - ID of destination folder
    Returns:
      new document folder
    Throws:
      `InvalidSessionFault` - sessionId is invalid
      `PermissionDeniedFault` - permission is denied for the specified operation
      `NoSuchObjectFault` - specified object is invalid
      `SystemFault` - unexpected system error
    Since:
      4.2

  - ### deleteDocumentFolder

    public void deleteDocumentFolder(String sessionId, String folderId) throws InvalidSessionFault, PermissionDeniedFault, NoSuchObjectFault, SystemFault, IllegalArgumentFault, InvalidOperationFault
    Deletes a document folder with the specified id.
    Specified by:
      `deleteDocumentFolder` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - SOAP session id.
      `folderId` - Folder id to delete.
    Throws:
      `InvalidSessionFault` - when the sessionId is invalid.
      `PermissionDeniedFault` - when permission is denied for the specified operation.
      `NoSuchObjectFault` - when the specified object is invalid
      `SystemFault` - when an unexpected system error occurs.
      `IllegalArgumentFault` - when one or more of the parameters are invalid.
      `InvalidOperationFault` - when attempted to delete top-level document folder.
    Since:
      4.2

  - ### createDocument

    @Deprecated public DocumentSoapDO createDocument(String sessionId, String parentId, String title, String description, String versionComment, String status, boolean createLocked, String fileName, String mimeType, String fileId, String associationId, String associationDesc) throws InvalidSessionFault, PermissionDeniedFault, NoSuchObjectFault, IllegalArgumentFault, SystemFault, InvalidAssociationFault
    Deprecated.
    in favor of createDocument2
    Creates a new document with the specified title, description, etc. If the site is configured to have an association mandatory on document create, then associationId must be specified.
    Specified by:
      `createDocument` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - SOAP session id.
      `parentId` - Document folder id in which to create a document.
      `title` - Document title.
      `description` - Document description.
      `versionComment` - Document version comment.
      `status` - Document status.
      `createLocked` - Is document locked on create?
      `fileName` - Name of the file.
      `mimeType` - File mime type.
      `fileId` - Uploaded file id (through FileStorageApp or SimpleFileStorageApp service).
      `associationId` - The id of the object associated, can be set to null if the site is not configured to have association mandatory. The association is set only if the configuration is turned on.
      `associationDesc` - The title of the object associated
    Returns:
      Document data object.
    Throws:
      `InvalidSessionFault` - when the sessionId is invalid.
      `PermissionDeniedFault` - when permission is denied for the specified operation.
      `NoSuchObjectFault` - when the specified object is invalid.
      `IllegalArgumentFault` - when one or more of the parameters are invalid.
      `SystemFault` - when an unexpected system error occurs.
      `InvalidAssociationFault` - when an invalid association object is passed.
    Since:
      4.4-SP1

  - ### createDocument2

    @Deprecated public Document2SoapDO createDocument2(String sessionId, String parentId, String title, String description, String versionComment, String status, boolean createLocked, boolean createDownloadRestricted, boolean allowForceUnlock, String fileName, String mimeType, String fileId, String associationId, String associationDesc) throws InvalidSessionFault, PermissionDeniedFault, NoSuchObjectFault, IllegalArgumentFault, SystemFault, InvalidAssociationFault
    Deprecated.
    in favor of createDocument3
    Creates a new document with the specified title, description, etc. If the site is configured to have an association mandatory on document create, then associationId must be specified.
    Specified by:
      `createDocument2` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - SOAP session id.
      `parentId` - Document folder id in which to create a document.
      `title` - Document title.
      `description` - Document description.
      `versionComment` - Document version comment.
      `status` - Document status.
      `createLocked` - Is document locked on create?
      `createDownloadRestricted` - Is document download restricted on create?
      `allowForceUnlock` - Is document admin allowed to edit/download locked document?

      Note: createDownloadRestricted and allowForceUnlock can be set to true, only if createLocked is true.

      `fileName` - Name of the file.
      `mimeType` - File mime type.
      `fileId` - Uploaded file id (through FileStorageApp or SimpleFileStorageApp service).
      `associationId` - The id of the object associated, can be set to null if the site is not configured to have association mandatory. The association is set only if the configuration is turned on.
      `associationDesc` - The title of the object associated
    Returns:
      Document data object.
    Throws:
      `InvalidSessionFault` - when the sessionId is invalid.
      `PermissionDeniedFault` - when permission is denied for the specified operation.
      `NoSuchObjectFault` - when the specified object is invalid.
      `IllegalArgumentFault` - when one or more of the parameters are invalid.
      `SystemFault` - when an unexpected system error occurs.
      `InvalidAssociationFault` - when an invalid association object is passed.
    Since:
      8.1

  - ### createDocument3

    public Document3SoapDO createDocument3(String sessionId, String parentId, String title, String description, String versionComment, String status, boolean createLocked, boolean createDownloadRestricted, boolean allowForceUnlock, String fileName, String mimeType, String fileId, String associationId, String associationDesc, SoapFieldValues flexFields) throws InvalidSessionFault, PermissionDeniedFault, NoSuchObjectFault, IllegalArgumentFault, SystemFault, InvalidAssociationFault, WorkflowViolationFault
    Creates a new document with the specified title, description, etc. If the site is configured to have an association mandatory on document create, then associationId must be specified.
    Specified by:
      `createDocument3` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - SOAP session id.
      `parentId` - Document folder id in which to create a document.
      `title` - Document title.
      `description` - Document description.
      `versionComment` - Document version comment.
      `status` - Document status.
      `createLocked` - Is document locked on create?
      `createDownloadRestricted` - Is document download restricted on create?
      `allowForceUnlock` - Is document admin allowed to edit/download locked document?

      Note: createDownloadRestricted and allowForceUnlock can be set to true, only if createLocked is true.

      `fileName` - Name of the file.
      `mimeType` - File mime type.
      `fileId` - Uploaded file id (through FileStorageApp or SimpleFileStorageApp service).
      `associationId` - The id of the object associated, can be set to null if the site is not configured to have association mandatory. The association is set only if the configuration is turned on.
      `associationDesc` - The title of the object associated
      `flexFields` - Flex field values
    Returns:
      Document data object.
    Throws:
      `InvalidSessionFault` - when the sessionId is invalid.
      `PermissionDeniedFault` - when permission is denied for the specified operation.
      `NoSuchObjectFault` - when the specified object is invalid.
      `IllegalArgumentFault` - when one or more of the parameters are invalid.
      `SystemFault` - when an unexpected system error occurs.
      `InvalidAssociationFault` - when an invalid association object is passed.
      `WorkflowViolationFault` - when the workflow is violated.
    Since:
      17.1

  - ### createDocumentWithUrl

    @Deprecated public DocumentSoapDO createDocumentWithUrl(String sessionId, String parentId, String title, String description, String versionComment, String status, boolean createLocked, String fileUrl, String associationId, String associationDesc) throws InvalidSessionFault, PermissionDeniedFault, NoSuchObjectFault, IllegalArgumentFault, SystemFault, InvalidDocumentContentFault, InvalidAssociationFault
    Deprecated.
    in favor of createDocumentWithUrl2
    Creates a new document with the specified title, description, etc. for a URL with an association. If the site is configured to have an association mandatory on document create, then associationId must be specified.
    Specified by:
      `createDocumentWithUrl` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - SOAP session id.
      `parentId` - Document folder id in which to create a document.
      `title` - Document title.
      `description` - Document description.
      `versionComment` - Document version comment.
      `status` - Document status.
      `createLocked` - Is document locked on create?
      `fileUrl` - the file URL of the document
      `associationId` - id of the object to be associated, can be set to null if the site is not configured to have association mandatory. The association is set only if the configuration is turned on.
      `associationDesc` - association comment
    Returns:
      Document data object.
    Throws:
      `InvalidSessionFault` - when the sessionId is invalid.
      `PermissionDeniedFault` - when permission is denied for the specified operation.
      `NoSuchObjectFault` - when the specified object is invalid.
      `IllegalArgumentFault` - when one or more of the parameters are invalid.
      `SystemFault` - when an unexpected system error occurs.
      `InvalidDocumentContentFault` - Only one of fileKey or fileUrl should be set. This failed
      `InvalidAssociationFault` - when an invalid association object is passed.
    Since:
      4.4SP1

  - ### createDocumentWithUrl2

    @Deprecated public Document2SoapDO createDocumentWithUrl2(String sessionId, String parentId, String title, String description, String versionComment, String status, boolean createLocked, boolean createDownloadRestricted, boolean allowForceUnlock, String fileUrl, String associationId, String associationDesc) throws InvalidSessionFault, PermissionDeniedFault, NoSuchObjectFault, IllegalArgumentFault, SystemFault, InvalidDocumentContentFault, InvalidAssociationFault
    Deprecated.
    in favor of createDocumentWithUrl3
    Creates a new document with the specified title, description, etc. for a URL with an association. If the site is configured to have an association mandatory on document create, then associationId must be specified.
    Specified by:
      `createDocumentWithUrl2` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - SOAP session id.
      `parentId` - Document folder id in which to create a document.
      `title` - Document title.
      `description` - Document description.
      `versionComment` - Document version comment.
      `status` - Document status.
      `createLocked` - Is document locked on create?
      `createDownloadRestricted` - Is document download restricted on create?
      `allowForceUnlock` - Is document admin allowed to edit/download locked document?

      Note: createDownloadRestricted and allowForceUnlock can be set to true, only if createLocked is true.

      `fileUrl` - the file URL of the document
      `associationId` - id of the object to be associated, can be set to null if the site is not configured to have association mandatory. The association is set only if the configuration is turned on.
      `associationDesc` - association comment
    Returns:
      Document data object.
    Throws:
      `InvalidSessionFault` - when the sessionId is invalid.
      `PermissionDeniedFault` - when permission is denied for the specified operation.
      `NoSuchObjectFault` - when the specified object is invalid.
      `IllegalArgumentFault` - when one or more of the parameters are invalid.
      `SystemFault` - when an unexpected system error occurs.
      `InvalidDocumentContentFault` - Only one of fileKey or fileUrl should be set. This failed
      `InvalidAssociationFault` - when an invalid association object is passed.
    Since:
      8.1

  - ### createDocumentWithUrl3

    public Document3SoapDO createDocumentWithUrl3(String sessionId, String parentId, String title, String description, String versionComment, String status, boolean createLocked, boolean createDownloadRestricted, boolean allowForceUnlock, String fileUrl, String associationId, String associationDesc, SoapFieldValues flexFields) throws InvalidSessionFault, PermissionDeniedFault, NoSuchObjectFault, IllegalArgumentFault, SystemFault, InvalidDocumentContentFault, InvalidAssociationFault, WorkflowViolationFault
    Creates a new document with the specified title, description, etc. for a URL with an association. If the site is configured to have an association mandatory on document create, then associationId must be specified.
    Specified by:
      `createDocumentWithUrl3` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - SOAP session id.
      `parentId` - Document folder id in which to create a document.
      `title` - Document title.
      `description` - Document description.
      `versionComment` - Document version comment.
      `status` - Document status.
      `createLocked` - Is document locked on create?
      `createDownloadRestricted` - Is document download restricted on create?
      `allowForceUnlock` - Is document admin allowed to edit/download locked document?

      Note: createDownloadRestricted and allowForceUnlock can be set to true, only if createLocked is true.

      `fileUrl` - the file URL of the document
      `associationId` - id of the object to be associated, can be set to null if the site is not configured to have association mandatory. The association is set only if the configuration is turned on.
      `associationDesc` - association comment
      `flexFields` - Flex field values
    Returns:
      Document data object.
    Throws:
      `InvalidSessionFault` - when the sessionId is invalid.
      `PermissionDeniedFault` - when permission is denied for the specified operation.
      `NoSuchObjectFault` - when the specified object is invalid.
      `IllegalArgumentFault` - when one or more of the parameters are invalid.
      `SystemFault` - when an unexpected system error occurs.
      `InvalidDocumentContentFault` - Only one of fileKey or fileUrl should be set. This failed
      `InvalidAssociationFault` - when an invalid association object is passed.
      `WorkflowViolationFault` - when the workflow is violated.
    Since:
      17.1

  - ### moveDocument

    @Deprecated public DocumentSoapDO moveDocument(String sessionId, String documentId, String targetFolderId) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, SystemFault
    Deprecated.
    in favor of moveDocument2
    Moves a document to a specified target folder. Locked documents cannot be moved, When a locked document's id is passed to this API, a SystemFault will be thrown.
    Specified by:
      `moveDocument` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - User session id.
      `documentId` - ID of document to move.
      `targetFolderId` - Target folder ID.
    Returns:
      New document object.
    Throws:
      `InvalidSessionFault` - when the sessionId is invalid.
      `PermissionDeniedFault` - when permission is denied for the specified operation.
      `NoSuchObjectFault` - when the specified object is invalid.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      4.2

  - ### moveDocument2

    @Deprecated public Document2SoapDO moveDocument2(String sessionId, String documentId, String targetFolderId) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, SystemFault
    Deprecated.
    in favor of moveDocument3
    Moves a document to a specified target folder. Locked documents cannot be moved, When a locked document's id is passed to this API, a SystemFault will be thrown.
    Specified by:
      `moveDocument2` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - User session id.
      `documentId` - ID of document to move.
      `targetFolderId` - Target folder ID.
    Returns:
      New document object.
    Throws:
      `InvalidSessionFault` - when the sessionId is invalid.
      `NoSuchObjectFault` - when the specified object is invalid.
      `PermissionDeniedFault` - when permission is denied for the specified operation.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      8.1

  - ### moveDocument3

    public Document3SoapDO moveDocument3(String sessionId, String documentId, String targetFolderId) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, SystemFault, IllegalArgumentFault
    Moves a document to a specified target folder. Locked documents cannot be moved, When a locked document's id is passed to this API, a SystemFault will be thrown.
    Specified by:
      `moveDocument3` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - User session id.
      `documentId` - ID of document to move.
      `targetFolderId` - Target folder ID.
    Returns:
      New document object.
    Throws:
      `InvalidSessionFault` - when the sessionId is invalid.
      `NoSuchObjectFault` - when the specified object is invalid.
      `PermissionDeniedFault` - when permission is denied for the specified operation.
      `SystemFault` - when an unexpected system error occurs.
      `IllegalArgumentFault` - when one or more of the parameters are invalid.
    Since:
      17.1

  - ### deleteDocument

    public void deleteDocument(String sessionId, String documentId) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, SystemFault
    Deletes a document.Locked document(s) cannot be deleted, When a locked document's id is passed to this API, a SystemFault will be thrown.
    Specified by:
      `deleteDocument` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - User session id.
      `documentId` - Document id.
    Throws:
      `InvalidSessionFault` - when the sessionId is invalid.
      `PermissionDeniedFault` - when permission is denied for the specified operation.
      `NoSuchObjectFault` - when the specified object is invalid.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      4.1

  - ### getDocumentData

    @Deprecated public DocumentSoapDO getDocumentData(String sessionId, String documentId, int documentVersion) throws InvalidSessionFault, NoSuchObjectFault, NoSuchVersionFault, PermissionDeniedFault, SystemFault
    Deprecated.
    in favor of getDocumentData2
    Gets specified document data.

    Change History
    Version 4.4
    - DocumentSoapDO.getMimeType() will return null for a document that uses external url, while DocumentSoapDO.getFileUrl() will allow direct access of file url without making a separate call.
    Specified by:
      `getDocumentData` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - User session id.
      `documentId` - Document id.
      `documentVersion` - Document version number (specify zero for current version).
    Returns:
      Document data object.
    Throws:
      `InvalidSessionFault` - when the sessionId is invalid.
      `PermissionDeniedFault` - when permission is denied for the specified operation.
      `NoSuchObjectFault` - when the specified object is invalid.
      `NoSuchVersionFault` - when the specified version is invalid.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      4.1

  - ### getDocumentData2

    @Deprecated public Document2SoapDO getDocumentData2(String sessionId, String documentId, int documentVersion) throws InvalidSessionFault, NoSuchObjectFault, NoSuchVersionFault, PermissionDeniedFault, SystemFault
    Deprecated.
    in favor of getDocumentData3
    Gets specified document data.

    Change History
    Version 8.1
    - downloadRestricted and allowForceUnlock flags were added to Document2SoapDO.
    Version 4.4
    - Document2SoapDO.getMimeType() will return null for a document that uses external url, while Document2SoapDO.getFileUrl() will allow direct access of file url without making a separate call.
    Specified by:
      `getDocumentData2` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - User session id.
      `documentId` - Document id.
      `documentVersion` - Document version number (specify zero for current version).
    Returns:
      Document data object.
    Throws:
      `InvalidSessionFault` - when the sessionId is invalid.
      `NoSuchObjectFault` - when the specified object is invalid.
      `NoSuchVersionFault` - when the specified version is invalid.
      `PermissionDeniedFault` - when permission is denied for the specified operation.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      8.1

  - ### getDocumentData3

    public Document3SoapDO getDocumentData3(String sessionId, String documentId, int documentVersion) throws InvalidSessionFault, NoSuchObjectFault, NoSuchVersionFault, PermissionDeniedFault, SystemFault
    Gets specified document data.
    Specified by:
      `getDocumentData3` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - User session id.
      `documentId` - Document id.
      `documentVersion` - Document version number (specify zero for current version).
    Returns:
      Document data object.
    Throws:
      `InvalidSessionFault` - when the sessionId is invalid.
      `NoSuchObjectFault` - when the specified object is invalid.
      `NoSuchVersionFault` - when the specified version is invalid.
      `PermissionDeniedFault` - when permission is denied for the specified operation.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      17.1

  - ### setDocumentData

    @Deprecated public void setDocumentData(String sessionId, DocumentSoapDO documentData, String fileId) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, IllegalArgumentFault, VersionMismatchFault, SystemFault, InvalidDocumentContentFault
    Deprecated.
    in favor of setDocumentData2
    Sets specified document data. To update a document, documentData.getCurrentVersion needs to be set to 0.
    Specified by:
      `setDocumentData` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - User session id.
      `documentData` - Document data object.
      `fileId` - Uploaded file id (through FileStorageApp or SimpleFileStorageApp service).
    Throws:
      `InvalidSessionFault` - when the sessionId is invalid.
      `NoSuchObjectFault` - when the specified object is invalid.
      `PermissionDeniedFault` - when permission is denied for the specified operation.
      `IllegalArgumentFault` - when document data information is invalid.
      `VersionMismatchFault` - when document data is stale.
      `SystemFault` - when an unexpected system error occurs.
      `InvalidDocumentContentFault` - Only one of fileKey or fileUrl should be set. This failed

  - ### setDocumentData2

    @Deprecated public void setDocumentData2(String sessionId, Document2SoapDO documentData, String fileId) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, IllegalArgumentFault, VersionMismatchFault, SystemFault, InvalidDocumentContentFault
    Deprecated.
    in favor of setDocumentData3
    Sets specified document data. To update a document, documentData.getCurrentVersion needs to be set to 0.
    Specified by:
      `setDocumentData2` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - User session id.
      `documentData` - Document data object.
      `fileId` - Uploaded file id (through FileStorageApp or SimpleFileStorageApp service).
    Throws:
      `InvalidSessionFault` - when the sessionId is invalid.
      `NoSuchObjectFault` - when the specified object is invalid.
      `PermissionDeniedFault` - when permission is denied for the specified operation.
      `IllegalArgumentFault` - when document data information is invalid.
      `VersionMismatchFault` - when document data is stale.
      `SystemFault` - when an unexpected system error occurs.
      `InvalidDocumentContentFault` - Only one of fileKey or fileUrl should be set. This failed
    Since:
      8.1

  - ### setDocumentData3

    public void setDocumentData3(String sessionId, Document3SoapDO documentData, String fileId) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, IllegalArgumentFault, VersionMismatchFault, SystemFault, InvalidDocumentContentFault, WorkflowViolationFault
    Sets specified document data. To update a document, documentData.getCurrentVersion needs to be set to 0.
    Specified by:
      `setDocumentData3` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - User session id.
      `documentData` - Document data object.
      `fileId` - Uploaded file id (through FileStorageApp or SimpleFileStorageApp service).
    Throws:
      `InvalidSessionFault` - when the sessionId is invalid.
      `NoSuchObjectFault` - when the specified object is invalid.
      `PermissionDeniedFault` - when permission is denied for the specified operation.
      `IllegalArgumentFault` - when document data information is invalid.
      `VersionMismatchFault` - when document data is stale.
      `SystemFault` - when an unexpected system error occurs.
      `InvalidDocumentContentFault` - Only one of fileKey or fileUrl should be set. This failed
      `WorkflowViolationFault` - when the workflow is violated
    Since:
      17.1

  - ### setDocumentDataWithAssociation

    @Deprecated public void setDocumentDataWithAssociation(String sessionId, DocumentSoapDO documentData, String fileId, String associationId, String associationComment) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, IllegalArgumentFault, VersionMismatchFault, SystemFault, InvalidDocumentContentFault, InvalidAssociationFault
    Deprecated.
    in favor of setDocumentDataWithAssociation2
    Sets specified document data with Association.
    Specified by:
      `setDocumentDataWithAssociation` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - User session id.
      `documentData` - Document data object.
      `fileId` - Uploaded file id (through FileStorageApp or SimpleFileStorageApp service).
      `associationId` - The id of the association
      `associationComment` - Comment for the association
    Throws:
      `InvalidSessionFault` - when the sessionId is invalid.
      `NoSuchObjectFault` - when the specified object is invalid.
      `PermissionDeniedFault` - when permission is denied for the specified operation.
      `IllegalArgumentFault` - when document data information is invalid.
      `VersionMismatchFault` - when document data is stale.
      `SystemFault` - when an unexpected system error occurs.
      `InvalidDocumentContentFault` - Only one of fileKey or fileUrl should be set. This failed
      `InvalidAssociationFault` - when an invalid association object is passed.
    Since:
      4.4-SP1

  - ### setDocumentDataWithAssociation2

    @Deprecated public void setDocumentDataWithAssociation2(String sessionId, Document2SoapDO documentData, String fileId, String associationId, String associationComment) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, IllegalArgumentFault, VersionMismatchFault, SystemFault, InvalidDocumentContentFault, InvalidAssociationFault
    Deprecated.
    in favor of setDocumentDataWithAssociation3
    Sets specified document data with association.
    Specified by:
      `setDocumentDataWithAssociation2` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - User session id.
      `documentData` - Document data object.
      `fileId` - Uploaded file id (through FileStorageApp or SimpleFileStorageApp service).
      `associationId` - The id of the association
      `associationComment` - Comment for the association
    Throws:
      `InvalidSessionFault` - when the sessionId is invalid.
      `NoSuchObjectFault` - when the specified object is invalid.
      `PermissionDeniedFault` - when permission is denied for the specified operation.
      `IllegalArgumentFault` - when document data information is invalid.
      `VersionMismatchFault` - when document data is stale.
      `SystemFault` - when an unexpected system error occurs.
      `InvalidDocumentContentFault` - Only one of fileKey or fileUrl should be set. This failed
      `InvalidAssociationFault` - when an invalid association object is passed.
    Since:
      8.1

  - ### setDocumentDataWithAssociation3

    public void setDocumentDataWithAssociation3(String sessionId, Document3SoapDO documentData, String fileId, String associationId, String associationComment) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, IllegalArgumentFault, VersionMismatchFault, SystemFault, InvalidDocumentContentFault, InvalidAssociationFault, WorkflowViolationFault
    Sets specified document data with association.
    Specified by:
      `setDocumentDataWithAssociation3` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - User session id.
      `documentData` - Document data object.
      `fileId` - Uploaded file id (through FileStorageApp or SimpleFileStorageApp service).
      `associationId` - The id of the association
      `associationComment` - Comment for the association
    Throws:
      `InvalidSessionFault` - when the sessionId is invalid.
      `NoSuchObjectFault` - when the specified object is invalid.
      `PermissionDeniedFault` - when permission is denied for the specified operation.
      `IllegalArgumentFault` - when document data information is invalid.
      `VersionMismatchFault` - when document data is stale.
      `SystemFault` - when an unexpected system error occurs.
      `InvalidDocumentContentFault` - Only one of fileKey or fileUrl should be set. This failed
      `InvalidAssociationFault` - when an invalid association object is passed.
      `WorkflowViolationFault` - when the workflow is violated
    Since:
      17.1

  - ### getDocumentFileId

    public String getDocumentFileId(String sessionId, String documentId, int documentVersion) throws InvalidSessionFault, NoSuchObjectFault, NoSuchVersionFault, PermissionDeniedFault, SystemFault
    Returns a the file id associated with the document file. The returned file id should be used with one of the file storage services to download the file (e.g. FileStorageApp or SimpleFileStorageApp service).
    IMPORTANT: The returned file id is valid ONLY during the session.
    Specified by:
      `getDocumentFileId` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - User session id.
      `documentId` - document id.
      `documentVersion` - document version number (specify zero for current version).
    Returns:
      File storage id (for download using FileStorageService or SimpleFileStorageService).
    Throws:
      `InvalidSessionFault` - when the sessionId is invalid.
      `PermissionDeniedFault` - when permission is denied for the specified operation.
      `NoSuchObjectFault` - when the specified object is invalid.
      `NoSuchVersionFault` - when the specified version is invalid.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      4.1

  - ### getDocumentVersions

    public Document2SoapList getDocumentVersions(String sessionId, String documentId, boolean includeDeletedVersions) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, SystemFault
    Lists all the versions of a document.
    Specified by:
      `getDocumentVersions` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - SOAP session id.
      `documentId` - Document id.
      `includeDeletedVersions` - Flag to indicate if the deleted versions of the document are to be fetched.
    Returns:
      Document list.
    Throws:
      `InvalidSessionFault` - when the sessionId is invalid.
      `PermissionDeniedFault` - when permission is denied for the specified operation.
      `NoSuchObjectFault` - when the specified object is invalid.
      `SystemFault` - when an unexpected system error occurs.
      `InvalidFilterFault` - when an invalid filter is specified.
    Since:
      8.1

  - ### deleteDocumentByVersions

    public void deleteDocumentByVersions(String sessionId, String documentId, int[] versionNumbers) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, IllegalArgumentFault, SystemFault, SearchQuerySyntaxFault, CannotDeleteDocumentVersionFault
    Deletes particular version(s) of a document.Locked document version(s) cannot be deleted, When a locked document's id is passed to this API, a SystemFault will be thrown.

    Note: Deleted document version(s) cannot be recovered, as they will be permanently deleted from the system.

    Specified by:
      `deleteDocumentByVersions` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - User session id.
      `documentId` - Document id.
      `versionNumbers` - Versions of the document to be deleted
    Throws:
      `InvalidSessionFault` - when the sessionId is invalid.
      `NoSuchObjectFault` - when the specified document Id is invalid.
      `PermissionDeniedFault` - when permission is denied for the specified operation.
      `IllegalArgumentFault` - for incorrect arguments. This can happen if the versionNumbers array is empty (or) if any of the versionNumbers is not valid.
      `SystemFault` - when an unexpected system error occurs.
      `SearchQuerySyntaxFault` - when the specified search query string is syntactically invalid.
      `CannotDeleteDocumentVersionFault` - when the user tries to delete the active version of the document.
    Since:
      8.1

  - ### addTextField

    public void addTextField(String sessionId, String projectId, String fieldName, int displayColumns, int displayLines, boolean isRequired, boolean isDisabled, boolean isHiddenOnCreate, String defaultValue, String helpText, String pattern) throws NoSuchObjectFault, InvalidSessionFault, PermissionDeniedFault, VersionMismatchFault, IllegalArgumentFault, InvalidOperationFault, SystemFault
    Adds a custom text field to documents.
    Specified by:
      `addTextField` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - User session id.
      `projectId` - The project in which to add the field to.
      `fieldName` - the name of the field
      `displayColumns` - the width of the display area
      `displayLines` - the height of the display area
      `isRequired` - if the field is required
      `isDisabled` - if the field is disabled
      `isHiddenOnCreate` - if the field is hidden when first created
      `defaultValue` - default value
      `helpText` - The help text for the field
      `pattern` - The field validation pattern
    Throws:
      `NoSuchObjectFault` - when the specified object id or fieldData is invalid
      `InvalidSessionFault` - when the specified session id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `VersionMismatchFault` - if the object has been updated since this fieldDO was fetched
      `IllegalArgumentFault` - if the arguments are incorrectly specified
      `InvalidOperationFault` - if the operation is not allowed
      `SystemFault` - when an unexpected system error occurs.
    Since:
      17.1

  - ### addSingleSelectChildField

    public void addSingleSelectChildField(String sessionId, String projectId, String fieldName, String[] fieldValues, String parentFieldId, SoapNamedValues parentChildFieldValueMap, String helpText) throws NoSuchObjectFault, InvalidSessionFault, PermissionDeniedFault, VersionMismatchFault, IllegalArgumentFault, InvalidOperationFault, SystemFault
    Adds a custom single select field to documents.
    Specified by:
      `addSingleSelectChildField` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - User session id.
      `projectId` - The project in which to add the field to.
      `fieldName` - the name of the field
      `fieldValues` - Array of valid field values
      `parentFieldId` - The id of the parent field
      `parentChildFieldValueMap` - soapNamedValues which keeps mapping between parent field values and child values
      `helpText` - the help text for the field
    Throws:
      `NoSuchObjectFault` - when the specified object id or fieldData is invalid
      `InvalidSessionFault` - when the specified session id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `VersionMismatchFault` - if the object has been updated since this fieldDO was fetched
      `IllegalArgumentFault` - if the arguments are incorrectly specified
      `InvalidOperationFault` - if the operation is not allowed
      `SystemFault` - when an unexpected system error occurs.
    Since:
      17.1

  - ### addSingleSelectField

    public void addSingleSelectField(String sessionId, String projectId, String fieldName, boolean isRequired, boolean isDisabled, boolean isHiddenOnCreate, String[] fieldValues, String defaultValue, String helpText) throws NoSuchObjectFault, InvalidSessionFault, PermissionDeniedFault, VersionMismatchFault, IllegalArgumentFault, InvalidOperationFault, SystemFault
    Adds a custom single select field to documents.
    Specified by:
      `addSingleSelectField` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - User session id.
      `projectId` - The project in which to add the field to.
      `fieldName` - the name of the field
      `isRequired` - if the field is required
      `isDisabled` - if the field is disabled
      `isHiddenOnCreate` - if the field is hidden when first created
      `fieldValues` - Array of valid field values
      `defaultValue` - default value
      `helpText` - the help text for the field
    Throws:
      `NoSuchObjectFault` - when the specified object id or fieldData is invalid
      `InvalidSessionFault` - when the specified session id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `VersionMismatchFault` - if the object has been updated since this fieldDO was fetched
      `IllegalArgumentFault` - if the arguments are incorrectly specified
      `InvalidOperationFault` - if the operation is not allowed
      `SystemFault` - when an unexpected system error occurs.
    Since:
      17.1

  - ### addMultiSelectField

    public void addMultiSelectField(String sessionId, String projectId, String fieldName, int displayLines, boolean isRequired, boolean isDisabled, boolean isHiddenOnCreate, String[] fieldValues, String[] defaultValues, String helpText) throws NoSuchObjectFault, InvalidSessionFault, PermissionDeniedFault, VersionMismatchFault, IllegalArgumentFault, InvalidOperationFault, SystemFault
    Adds a custom multi select field to documents.
    Specified by:
      `addMultiSelectField` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - User session id.
      `projectId` - The project in which to add the field to.
      `fieldName` - the name of the field
      `displayLines` - the height of the display area
      `isRequired` - if the field is required
      `isDisabled` - if the field is disabled
      `isHiddenOnCreate` - if the field is hidden when first created
      `fieldValues` - possible values
      `defaultValues` - default values
      `helpText` - the help text for the field
    Throws:
      `NoSuchObjectFault` - when the specified object id or fieldData is invalid
      `InvalidSessionFault` - when the specified session id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `VersionMismatchFault` - if the object has been updated since this fieldDO was fetched
      `IllegalArgumentFault` - if the arguments are incorrectly specified
      `InvalidOperationFault` - if the operation is not allowed
      `SystemFault` - when an unexpected system error occurs.
    Since:
      17.1

  - ### addUserSelectField

    public void addUserSelectField(String sessionId, String projectId, String fieldName, int displayLines, boolean isRequired, boolean isDisabled, boolean isHiddenOnCreate, String[] defaultValues, String userFilter, String helpText) throws NoSuchObjectFault, InvalidSessionFault, PermissionDeniedFault, VersionMismatchFault, IllegalArgumentFault, InvalidOperationFault, SystemFault
    Adds a custom User selection field to documents.
    Specified by:
      `addUserSelectField` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - User session id.
      `projectId` - The project in which to add the field to.
      `fieldName` - the name of the field
      `displayLines` - the height of the display area
      `isRequired` - if the field is required
      `isDisabled` - if the field is disabled
      `isHiddenOnCreate` - if the field is hidden when first created
      `defaultValues` - default values for this field. Must be valid usernames
      `userFilter` - is the filter
      `helpText` - The help text of the field
    Throws:
      `NoSuchObjectFault` - when the specified object id or fieldData is invalid
      `InvalidSessionFault` - when the specified session id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `VersionMismatchFault` - if the object has been updated since this fieldDO was fetched
      `IllegalArgumentFault` - if the arguments are incorrectly specified
      `InvalidOperationFault` - if the operation is not allowed
      `SystemFault` - when an unexpected system error occurs.
    Since:
      17.1
    See Also:
      - `DocumentFolderFieldSoapDO.FIELD_USER_FILTER_PROJECT_MEMBER`
      - `DocumentFolderFieldSoapDO.FIELD_USER_FILTER_ALL`

  - ### addDateField

    public void addDateField(String sessionId, String projectId, String fieldName, boolean isRequired, boolean isDisabled, boolean isHiddenOnCreate, String helpText) throws NoSuchObjectFault, InvalidSessionFault, PermissionDeniedFault, VersionMismatchFault, IllegalArgumentFault, InvalidOperationFault, SystemFault
    Adds a custom Date field to documents.
    Specified by:
      `addDateField` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - User session id.
      `projectId` - The project in which to add the field to.
      `fieldName` - the name of the field
      `isRequired` - if the field is required
      `isDisabled` - if the field is disabled
      `isHiddenOnCreate` - if the field is hidden when first created
      `helpText` - the help text of the field
    Throws:
      `NoSuchObjectFault` - when the specified object id or fieldData is invalid
      `InvalidSessionFault` - when the specified session id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `VersionMismatchFault` - if the object has been updated since this fieldDO was fetched
      `IllegalArgumentFault` - if the arguments are incorrectly specified
      `InvalidOperationFault` - if the operation is not allowed
      `SystemFault` - when an unexpected system error occurs.
    Since:
      17.1

  - ### getFields

    public DocumentFolderFieldSoapDO[] getFields(String sessionId, String projectId) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, SystemFault
    Returns the custom/flex-fields associated with the given project's document root folder.
    Specified by:
      `getFields` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - User session id.
      `projectId` - The project for which to return the document fields information.
    Returns:
      Array of all field values.
    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:
      17.1

  - ### setField

    public void setField(String sessionId, DocumentFolderFieldSoapDO fieldData) throws NoSuchObjectFault, InvalidSessionFault, PermissionDeniedFault, VersionMismatchFault, IllegalArgumentFault, InvalidOperationFault, SystemFault, DependencyViolationFault
    Sets a custom/flex-field.
    Specified by:
      `setField` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - User session id.
      `fieldData` - the custom/flex-field to associate with a specific folder
    Throws:
      `NoSuchObjectFault` - when the specified object id or fieldData is invalid
      `InvalidSessionFault` - when the specified session id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `VersionMismatchFault` - if the object has been updated since this fieldDO was fetched
      `IllegalArgumentFault` - if the arguments are incorrectly specified. See FaultSummary for detail for the following: - DUPLICATE_FIELD_VALUE - ILLEGAL_FIELD_VALUE - INVALID_FIELD_VALUE - INVALID_DEFAULT_VALUE - INVALID_FIELD_OPTIONS_REQUIRED_DISABLED - INVALID_FIELD_VALUE_LENGTH - REQUIRED_FIELD_MISSING - INVALID_FIELD_PATTERN
      `InvalidOperationFault` - if the operation is not allowed. See FaultSummary for detail for the following: - INVALID_OPTION_DISABLE_RESERVED_FIELD - INVALID_OPTION_DISABLE_IN_USE_FIELD
      `SystemFault` - when an unexpected system error occurs.
      `DependencyViolationFault` - if changing a status violates document dependency
    Since:
      17.1
    See Also:
      - `FaultSummary`

  - ### deleteField

    public void deleteField(String sessionId, String fieldId) throws NoSuchObjectFault, InvalidSessionFault, PermissionDeniedFault, InvalidOperationFault, SystemFault
    Deletes a custom/flex-field.
    Specified by:
      `deleteField` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - User session id.
      `fieldId` - the id of the field to delete
    Throws:
      `NoSuchObjectFault` - when the specified object id or fieldData is invalid
      `InvalidSessionFault` - when the specified session id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `InvalidOperationFault` - if the operation is not allowed.
      `SystemFault` - when an unexpected system error occurs.
    Since:
      17.1

  - ### addSeparator

    public void addSeparator(String sessionId, String projectId, String separatorType, String separatorLabel) throws NoSuchObjectFault, InvalidSessionFault, PermissionDeniedFault, IllegalArgumentFault, SystemFault, ObjectAlreadyExistsFault
    Adds a separator to a document root folder. The separator will be added at the end of document fields. To reorder separator and fields, use getOrderedDocumentFields and reorderDocumentFields.
    Specified by:
      `addSeparator` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - User session id.
      `projectId` - The project in which to add the separator to.
      `separatorType` - the type of the separator, either OrderedDocumentFolderFieldSoapRow.ROW_SEPARATOR, OrderedDocumentFolderFieldSoapRow.COLUMN_SEPARATOR or OrderedDocumentFolderFieldSoapRow .SECTION_SEPARATOR.
      `separatorLabel` - the label of the separator
    Throws:
      `NoSuchObjectFault` - when the specified object id is invalid
      `InvalidSessionFault` - when the specified session id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `IllegalArgumentFault` - if the arguments are incorrectly specified
      `SystemFault` - when an unexpected system error occurs.
      `ObjectAlreadyExistsFault` - if a separator with the same id exists
    Since:
      17.1

  - ### deleteSeparator

    public void deleteSeparator(String sessionId, String layoutId) throws NoSuchObjectFault, InvalidSessionFault, PermissionDeniedFault, IllegalArgumentFault, InvalidOperationFault, SystemFault
    Deletes a separator of a document root folder layout.
    Specified by:
      `deleteSeparator` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - User session id.
      `layoutId` - the layout id of the separator. To get the layout id, use getOrderedDocumentFolderFields().
    Throws:
      `NoSuchObjectFault` - when the specified object id is invalid
      `InvalidSessionFault` - when the specified session id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `IllegalArgumentFault` - if the arguments are incorrectly specified
      `InvalidOperationFault` - if the operation is not allowed
      `SystemFault` - when an unexpected system error occurs.
    Since:
      17.1

  - ### getOrderedDocumentFields

    public OrderedDocumentFolderFieldSoapList getOrderedDocumentFields(String sessionId, String projectId) throws InvalidSessionFault, NoSuchObjectFault, PermissionDeniedFault, SystemFault
    Returns all the custom/flex-fields and the separators associated with the given project's document root folder with layout information.
    Specified by:
      `getOrderedDocumentFields` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - User session id.
      `projectId` - The project for which to return the document fields information.
    Returns:
      Array of all fields and separators.
    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:
      17.1

  - ### reorderDocumentFields

    public void reorderDocumentFields(String sessionId, String projectId, String[] layoutIds) throws InvalidSessionFault, NoSuchObjectFault, IllegalArgumentFault, PermissionDeniedFault, SystemFault
    Sets a new order of the fields and the separators within the given project's document root folder. The fields and separators will be listed in this new order in UI and in the methods that list the fields and separators in the SOAP calls.
    Specified by:
      `reorderDocumentFields` in interface `IDocumentAppSoap`
    Parameters:
      `sessionId` - User session id.
      `projectId` - The project in which all the document fields and the separators belong to.
      `layoutIds` - An array of layout ids which can be obtained by getOrderedDocumentFields(). Layout id is different from field id and some system fields and separators do not have field id but only layout id.
    Throws:
      `InvalidSessionFault` - When the specified session id is invalid.
      `NoSuchObjectFault` - When any of the specified object id is invalid.
      `IllegalArgumentFault` - If invalid argument value is passed.
      `PermissionDeniedFault` - When the user has insufficient privileges.
      `SystemFault` - When an unexpected system level error occurs.
    Since:
      17.1