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

# Interface IDocumentAppSoap

All Known Implementing Classes:
  `DocumentAppSoap`, `DocumentAppSoapMockStub`, `DocumentAppSoapStub`

public interface IDocumentAppSoap

- ## 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
  `void`
  `deleteDocumentByVersions(String sessionId, String documentId, int[] versionNumbers)`
  Deletes particular version(s) of a document.Locked document version(s) cannot be deleted
  `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.

- ## Method Details

  - ### getDocumentFolderList

    DocumentFolderSoapList getDocumentFolderList(String sessionId, String parentId, boolean recursive) throws RemoteException
    Lists document folders.
    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.
    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.
      `RemoteException`
    Since:
      4.1

  - ### setDocumentFolderData

    void setDocumentFolderData(String sessionId, DocumentFolderSoapDO documentFolderData) throws RemoteException
    Sets detailed data on a document folder
    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.
      `RemoteException`
    Since:
      4.2

  - ### getDocumentFolderData

    DocumentFolderSoapDO getDocumentFolderData(String sessionId, String folderId) throws RemoteException
    Gets detailed data on a document folder
    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.
      `RemoteException`
    Since:
      4.2

  - ### getAssignedDocumentReviewList

    DocumentReviewSoapList getAssignedDocumentReviewList(String sessionId, String username) throws RemoteException
    Lists all document reviews assigned to a user for review.
    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.
      `RemoteException`
    Since:
      4.2

  - ### getDocumentReviewList

    DocumentReviewSoapList getDocumentReviewList(String sessionId, String containerId, SoapFilter[] filters) throws RemoteException
    Lists all document reviews within a project or a document.
    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.
      `RemoteException`
    Since:
      4.2

  - ### createReview

    DocumentReviewSoapDO createReview(String sessionId, String documentId, int version, String title, String description, Date dueDate, String[] requiredReviewers, String[] optionalReviewers, boolean attachDocument) throws RemoteException
    Creates a document review cycle
    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.
      `ObjectAlreadyExistsFault` - if the review already exists on this document
      `SystemFault` - when an unexpected system error occurs.
      `RemoteException`

  - ### getDocumentList

    @Deprecated DocumentSoapList getDocumentList(String sessionId, String parentId, SoapFilter[] filters) throws RemoteException
    Deprecated.
    in favor of getDocumentList2
    Lists all documents within a document folder.
    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.
      `RemoteException`
    Since:
      4.1

  - ### getDocumentList2

    Document2SoapList getDocumentList2(String sessionId, String parentId, SoapFilter[] filters) throws RemoteException
    Lists all documents within a document folder.
    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.
      `RemoteException`
    Since:
      8.1

  - ### getDocumentList3

    Document3SoapList getDocumentList3(String sessionId, String documentFolderId, SoapFilter[] filters) throws RemoteException
    Lists all documents within a document folder.
    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.
      `RemoteException`
    Since:
      17.1

  - ### findDocuments

    @Deprecated DocumentSoapList findDocuments(String sessionId, String queryString, String projectId, boolean searchAttachments, boolean currentVersionsOnly) throws RemoteException
    Deprecated.
    in favor of findDocuments2
    Finds a list of documents matching a search string.
    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.
      `RemoteException`
    Since:
      4.1

  - ### findDocuments2

    Document2SoapList findDocuments2(String sessionId, String queryString, String projectId, boolean searchAttachments, boolean currentVersionsOnly) throws RemoteException
    Finds a list of documents matching a search string.
    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.
      `RemoteException`
    Since:
      8.1

  - ### findDocuments3

    Document3SoapList findDocuments3(String sessionId, String queryString, String projectId, boolean searchAttachments, boolean currentVersionsOnly) throws RemoteException
    Finds a list of documents matching a search string.
    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.
      `RemoteException`
    Since:
      17.1

  - ### createDocumentFolder

    DocumentFolderSoapDO createDocumentFolder(String sessionId, String parentId, String title, String description) throws RemoteException
    Creates a new document folder with the specified title, description, etc.
    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.
      `RemoteException`
    Since:
      4.2

  - ### moveDocumentFolder

    DocumentFolderSoapDO moveDocumentFolder(String sessionId, String folderId, String destFolderId) throws RemoteException
    Moves document folder
    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
      `RemoteException`
    Since:
      4.2

  - ### deleteDocumentFolder

    void deleteDocumentFolder(String sessionId, String folderId) throws RemoteException
    Deletes a document folder with the specified id.
    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.
      `RemoteException`
    Since:
      4.2

  - ### createDocument

    @Deprecated 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 RemoteException
    Deprecated.
    in favor of createDocument2
    Creates a new document with the specified title, description, etc.
    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
      `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.
      `RemoteException`
    Since:
      4.4-SP1

  - ### createDocument2

    @Deprecated 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 RemoteException
    Deprecated.
    in favor of createDocument3
    Creates a new document with the specified title, description, etc.
    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?
      `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
      `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.
      `RemoteException`
    Since:
      8.1

  - ### 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) throws RemoteException
    Creates a new document with the specified title, description, etc.
    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?
      `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
      `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.
      `RemoteException`
    Since:
      17.1

  - ### createDocumentWithUrl

    @Deprecated DocumentSoapDO createDocumentWithUrl(String sessionId, String parentId, String title, String description, String versionComment, String status, boolean createLocked, String fileUrl, String associationId, String associationDesc) throws RemoteException
    Deprecated.
    in favor of createDocumentWithUrl2
    Creates a new document with the specified title, description, etc.
    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
      `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.
      `RemoteException`
    Since:
      4.4SP1

  - ### createDocumentWithUrl2

    @Deprecated 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 RemoteException
    Deprecated.
    in favor of createDocumentWithUrl3
    Creates a new document with the specified title, description, etc.
    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?
      `fileUrl` - the file URL of the document
      `associationId` - id of the object to be associated
      `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.
      `RemoteException`
    Since:
      8.1

  - ### 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) throws RemoteException
    Creates a new document with the specified title, description, etc.
    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?
      `fileUrl` - the file URL of the document
      `associationId` - id of the object to be associated
      `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.
      `RemoteException`
    Since:
      17.1

  - ### moveDocument

    @Deprecated DocumentSoapDO moveDocument(String sessionId, String documentId, String targetFolderId) throws RemoteException
    Deprecated.
    in favor of moveDocument2
    Moves a document to a specified target folder.
    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.
      `RemoteException`
    Since:
      4.2

  - ### moveDocument2

    @Deprecated Document2SoapDO moveDocument2(String sessionId, String documentId, String targetFolderId) throws RemoteException
    Deprecated.
    in favor of moveDocument3
    Moves a document to a specified target folder.
    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.
      `RemoteException`
    Since:
      8.1

  - ### moveDocument3

    Document3SoapDO moveDocument3(String sessionId, String documentId, String targetFolderId) throws RemoteException
    Moves a document to a specified target folder.
    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.
      `RemoteException`
    Since:
      17.1

  - ### deleteDocument

    void deleteDocument(String sessionId, String documentId) throws RemoteException
    Deletes a document.Locked document(s) cannot be deleted
    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.
      `RemoteException`
    Since:
      4.1

  - ### getDocumentData

    @Deprecated DocumentSoapDO getDocumentData(String sessionId, String documentId, int documentVersion) throws RemoteException
    Deprecated.
    in favor of getDocumentData2
    Gets specified document data.
    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.
      `RemoteException`
    Since:
      4.1

  - ### getDocumentData2

    @Deprecated Document2SoapDO getDocumentData2(String sessionId, String documentId, int documentVersion) throws RemoteException
    Deprecated.
    in favor of getDocumentData3
    Gets specified document data.
    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.
      `RemoteException`
    Since:
      8.1

  - ### getDocumentData3

    Document3SoapDO getDocumentData3(String sessionId, String documentId, int documentVersion) throws RemoteException
    Gets specified document data.
    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.
      `RemoteException`
    Since:
      17.1

  - ### setDocumentData

    @Deprecated void setDocumentData(String sessionId, DocumentSoapDO documentData, String fileId) throws RemoteException
    Deprecated.
    in favor of setDocumentData2
    Sets specified document data. To update a document, documentData.getCurrentVersion needs to be set to 0.
    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
      `RemoteException`

  - ### setDocumentData2

    @Deprecated void setDocumentData2(String sessionId, Document2SoapDO documentData, String fileId) throws RemoteException
    Deprecated.
    in favor of setDocumentData3
    Sets specified document data. To update a document, documentData.getCurrentVersion needs to be set to 0.
    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
      `RemoteException`
    Since:
      8.1

  - ### setDocumentData3

    void setDocumentData3(String sessionId, Document3SoapDO documentData, String fileId) throws RemoteException
    Sets specified document data. To update a document, documentData.getCurrentVersion needs to be set to 0.
    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
      `RemoteException`
    Since:
      17.1

  - ### setDocumentDataWithAssociation

    @Deprecated void setDocumentDataWithAssociation(String sessionId, DocumentSoapDO documentData, String fileId, String associationId, String associationComment) throws RemoteException
    Deprecated.
    in favor of setDocumentDataWithAssociation2
    Sets specified document data with Association.
    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.
      `RemoteException`
    Since:
      4.4-SP1

  - ### setDocumentDataWithAssociation2

    @Deprecated void setDocumentDataWithAssociation2(String sessionId, Document2SoapDO documentData, String fileId, String associationId, String associationComment) throws RemoteException
    Deprecated.
    in favor of setDocumentDataWithAssociation3
    Sets specified document data with association.
    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.
      `RemoteException`
    Since:
      8.1

  - ### setDocumentDataWithAssociation3

    void setDocumentDataWithAssociation3(String sessionId, Document3SoapDO documentData, String fileId, String associationId, String associationComment) throws RemoteException
    Sets specified document data with association.
    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
      `RemoteException`
    Since:
      17.1

  - ### getDocumentFileId

    String getDocumentFileId(String sessionId, String documentId, int documentVersion) throws RemoteException
    Returns a the file id associated with the document file.
    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.
      `RemoteException`
    Since:
      4.1

  - ### getDocumentVersions

    Document2SoapList getDocumentVersions(String sessionId, String documentId, boolean includeDeletedVersions) throws RemoteException
    Lists all the versions of a document.
    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.
      `RemoteException`
    Since:
      8.1

  - ### deleteDocumentByVersions

    void deleteDocumentByVersions(String sessionId, String documentId, int[] versionNumbers) throws RemoteException
    Deletes particular version(s) of a document.Locked document version(s) cannot be deleted
    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.
      `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.
      `RemoteException`
    Since:
      8.1

  - ### addTextField

    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 RemoteException
    Adds a custom text field to documents.
    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.
      `RemoteException`
    Since:
      17.1

  - ### addSingleSelectChildField

    void addSingleSelectChildField(String sessionId, String projectId, String fieldName, String[] fieldValues, String parentFieldId, SoapNamedValues parentChildFieldValueMap, String helpText) throws RemoteException
    Adds a custom single select field to documents.
    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.
      `RemoteException`
    Since:
      17.1

  - ### addSingleSelectField

    void addSingleSelectField(String sessionId, String projectId, String fieldName, boolean isRequired, boolean isDisabled, boolean isHiddenOnCreate, String[] fieldValues, String defaultValue, String helpText) throws RemoteException
    Adds a custom single select field to documents.
    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.
      `RemoteException`
    Since:
      17.1

  - ### addMultiSelectField

    void addMultiSelectField(String sessionId, String projectId, String fieldName, int displayLines, boolean isRequired, boolean isDisabled, boolean isHiddenOnCreate, String[] fieldValues, String[] defaultValues, String helpText) throws RemoteException
    Adds a custom multi select field to documents.
    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.
      `RemoteException`
    Since:
      17.1

  - ### addUserSelectField

    void addUserSelectField(String sessionId, String projectId, String fieldName, int displayLines, boolean isRequired, boolean isDisabled, boolean isHiddenOnCreate, String[] defaultValues, String userFilter, String helpText) throws RemoteException
    Adds a custom User selection field to documents.
    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.
      `RemoteException`
    Since:
      17.1
    See Also:
      - `DocumentFolderFieldSoapDO.FIELD_USER_FILTER_PROJECT_MEMBER`
      - `DocumentFolderFieldSoapDO.FIELD_USER_FILTER_ALL`

  - ### addDateField

    void addDateField(String sessionId, String projectId, String fieldName, boolean isRequired, boolean isDisabled, boolean isHiddenOnCreate, String helpText) throws RemoteException
    Adds a custom Date field to documents.
    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.
      `RemoteException`
    Since:
      17.1

  - ### getFields

    DocumentFolderFieldSoapDO[] getFields(String sessionId, String projectId) throws RemoteException
    Returns the custom/flex-fields associated with the given project's document root folder.
    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.
      `RemoteException`
    Since:
      17.1

  - ### setField

    void setField(String sessionId, DocumentFolderFieldSoapDO fieldData) throws RemoteException
    Sets a custom/flex-field.
    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.
      `InvalidOperationFault` - if the operation is not allowed.
      `SystemFault` - when an unexpected system error occurs.
      `DependencyViolationFault` - if changing a status violates document dependency
      `RemoteException`
    Since:
      17.1
    See Also:
      - `FaultSummary`

  - ### deleteField

    void deleteField(String sessionId, String fieldId) throws RemoteException
    Deletes a custom/flex-field.
    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.
      `RemoteException`
    Since:
      17.1

  - ### addSeparator

    void addSeparator(String sessionId, String projectId, String separatorType, String separatorLabel) throws RemoteException
    Adds a separator to a document root folder.
    Parameters:
      `sessionId` - User session id.
      `projectId` - The project in which to add the separator to.
      `separatorType` - the type of the 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
      `RemoteException`
    Since:
      17.1

  - ### deleteSeparator

    void deleteSeparator(String sessionId, String layoutId) throws RemoteException
    Deletes a separator of a document root folder layout.
    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.
      `RemoteException`
    Since:
      17.1

  - ### getOrderedDocumentFields

    OrderedDocumentFolderFieldSoapList getOrderedDocumentFields(String sessionId, String projectId) throws RemoteException
    Returns all the custom/flex-fields and the separators associated with the given project's document root folder with layout information.
    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.
      `RemoteException`
    Since:
      17.1

  - ### reorderDocumentFields

    void reorderDocumentFields(String sessionId, String projectId, String[] layoutIds) throws RemoteException
    Sets a new order of the fields and the separators within the given project's document root folder.
    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().
    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.
      `RemoteException`
    Since:
      17.1