Salesforce – DocuSign Integration

  1. Set up “My Domain”.

2. Create a new DocuSign developer Sandbox.

  • Click “Sign up for free” and enter your details.
  • You will receive an email.
  • Click “ACTIVATE” button to activate your DocuSign account.
  • Set a Password and a Security question.
  • Hit “ACTIVATE” button.
  • After successful Sign Up, you will reach to following screen.
  • Click “Create Your Signature” to create your own signature.
  • You can choose any signature suggested by DocuSign or upload your own signature from your personal device.
  • Now we need to have userId, accountId, integratorsKey, secretKey from DocuSign and redirectURI from Salesforce.
  • First we will create a VF page, the url of this VF page will be the redirectURI.
  • Let’s create a VF page with name “DocuSignRedirect.vfp”.
  • In “Admin” section, go to “API and Keys” option. Click over it.
  • You will be redirected to the following page.
  • Click over “ADD APP / INTEGRATION KEY” to generate integratorsKey.
  • Provide an App name and hit “Add”.
  • You will be redirected to following page. Your integrator’s key is highlighted in yellow.
  • Click over “ADD SECRET KEY” to generate the secret key, and “ADD URI” to enter the Salesforce redirectURI.
  • Your secretKey will look like following.
  • After entering redirectURI, hit “Save” button.

3. Create wrapper classes in Salesforce.

  • Create “EventNotification” class. The instance of this class is required to get automatic messages from DocuSign on each status changes of document.
public class EventNotification {

    public String url;
    public String loggingEnabled;
    public String requireAcknowledgment;
    public String useSoapInterface;
    public String includeCertificateWithSoap;
    public String signMessageWithX509Cert;
    public String includeDocuments;
    public String includeEnvelopeVoidReason;
    public String includeTimeZone;
    public String includeSenderAccountAsCustomField;
    public String includeDocumentFields;
    public String includeCertificateOfCompletion;
    public List<EnvelopeEvent> envelopeEvents;
    public List<RecipientEvent> recipientEvents;
    
    public class EnvelopeEvent {
        public String envelopeEventStatusCode;
    }
    
    public class RecipientEvent {
        public String recipientEventStatusCode;
    }
}
  • Create “RequestSignatureOnSingleDocument” class. The instance of this class will be passed as body while calling out.
public class RequestSignatureOnSingleDocument {

	public List<Documents> documents;
	public String emailSubject;
	public Recipients recipients;
	public String status;
    public EventNotification eventNotification;

	public class Recipients {
		public List<Signers> signers;
	}

	public class Documents {
		public String documentBase64;
		public String documentId;
		public String fileExtension;
		public String name;
	}

	public class SignHereTabs {
		public String anchorString;
		public String anchorUnits;
		public String anchorXOffset;
		public String anchorYOffset;
		public String name;
		public String optional;
		public String recipientId;
		public Integer scaleValue;
		public String tabLabel;
	}

	public class Signers {
		public String email;
		public String name;
		public String recipientId;
		public String routingOrder;
		public Tabs tabs;
	}

	public class Tabs {
		public List<DateSignedTabs> dateSignedTabs;
		public List<DateSignedTabs> fullNameTabs;
		public List<SignHereTabs> signHereTabs;
	}

	public class DateSignedTabs {
		public String anchorString;
		public String anchorYOffset;
		public String fontSize;
		public String name;
		public String recipientId;
		public String tabLabel;
	}

	
	public static RequestSignatureOnSingleDocument parse(String json) {
		return (RequestSignatureOnSingleDocument) System.JSON.deserialize(json, RequestSignatureOnSingleDocument.class);
	}
}
  • Create DocuSignAPI class. This class will be used to fetch the signed document from DocuSign.
public class DocuSignAPI {
    public class RecipientCorrectionCorrectedCaptiveInfo {
        public String ClientUserId;
        public String EmbeddedRecipientStartURL;
        private String[] ClientUserId_type_info = new String[]{'ClientUserId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EmbeddedRecipientStartURL_type_info = new String[]{'EmbeddedRecipientStartURL','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'ClientUserId','EmbeddedRecipientStartURL'};
    }
    public class RequestTemplateWithDocumentFields_element {
        public String TemplateID;
        public Boolean IncludeDocumentBytes;
        private String[] TemplateID_type_info = new String[]{'TemplateID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] IncludeDocumentBytes_type_info = new String[]{'IncludeDocumentBytes','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'TemplateID','IncludeDocumentBytes'};
    }
    public class EventNotification {
        public String URL;
        public Boolean LoggingEnabled;
        public Boolean RequireAcknowledgment;
        public Boolean UseSoapInterface;
        public String SoapNameSpace;
        public Boolean IncludeCertificateWithSoap;
        public Boolean SignMessageWithX509Cert;
        public Boolean IncludeDocuments;
        public Boolean IncludeHMAC;
        public Boolean IncludeTimeZone;
        public Boolean IncludeEnvelopeVoidReason;
        public Boolean IncludeDocumentFields;
        public Boolean IncludeCertificateOfCompletion;
        public Boolean IncludeSenderAccountAsCustomField;
        public DocuSignAPI.ArrayOfEnvelopeEvent EnvelopeEvents;
        public DocuSignAPI.ArrayOfRecipientEvent RecipientEvents;
        private String[] URL_type_info = new String[]{'URL','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] LoggingEnabled_type_info = new String[]{'LoggingEnabled','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RequireAcknowledgment_type_info = new String[]{'RequireAcknowledgment','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] UseSoapInterface_type_info = new String[]{'UseSoapInterface','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] SoapNameSpace_type_info = new String[]{'SoapNameSpace','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] IncludeCertificateWithSoap_type_info = new String[]{'IncludeCertificateWithSoap','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] SignMessageWithX509Cert_type_info = new String[]{'SignMessageWithX509Cert','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] IncludeDocuments_type_info = new String[]{'IncludeDocuments','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] IncludeHMAC_type_info = new String[]{'IncludeHMAC','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] IncludeTimeZone_type_info = new String[]{'IncludeTimeZone','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] IncludeEnvelopeVoidReason_type_info = new String[]{'IncludeEnvelopeVoidReason','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] IncludeDocumentFields_type_info = new String[]{'IncludeDocumentFields','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] IncludeCertificateOfCompletion_type_info = new String[]{'IncludeCertificateOfCompletion','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] IncludeSenderAccountAsCustomField_type_info = new String[]{'IncludeSenderAccountAsCustomField','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EnvelopeEvents_type_info = new String[]{'EnvelopeEvents','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RecipientEvents_type_info = new String[]{'RecipientEvents','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'URL','LoggingEnabled','RequireAcknowledgment','UseSoapInterface','SoapNameSpace','IncludeCertificateWithSoap','SignMessageWithX509Cert','IncludeDocuments','IncludeHMAC','IncludeTimeZone','IncludeEnvelopeVoidReason','IncludeDocumentFields','IncludeCertificateOfCompletion','IncludeSenderAccountAsCustomField','EnvelopeEvents','RecipientEvents'};
    }
    public class AvailableFolders {
        public DocuSignAPI.ArrayOfFolder Folders;
        private String[] Folders_type_info = new String[]{'Folders','http://www.docusign.net/API/3.0',null,'1','1','true'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'Folders'};
    }
    public class ArrayOfPublishConnectFailuresResult {
        public DocuSignAPI.PublishConnectFailuresResult[] PublishConnectFailuresResult;
        private String[] PublishConnectFailuresResult_type_info = new String[]{'PublishConnectFailuresResult','http://www.docusign.net/API/3.0',null,'0','-1','true'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'PublishConnectFailuresResult'};
    }
    public class CreateEnvelopeResponse_element {
        public DocuSignAPI.EnvelopeStatus CreateEnvelopeResult;
        private String[] CreateEnvelopeResult_type_info = new String[]{'CreateEnvelopeResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'CreateEnvelopeResult'};
    }
    public class EnvelopeAuditEventsV2_element {
        public String EnvelopeId;
        private String[] EnvelopeId_type_info = new String[]{'EnvelopeId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeId'};
    }
    public class SendEnvelopeResponse_element {
        public DocuSignAPI.EnvelopeStatus SendEnvelopeResult;
        private String[] SendEnvelopeResult_type_info = new String[]{'SendEnvelopeResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'SendEnvelopeResult'};
    }
    public class IDCheckInformation {
        public DocuSignAPI.AddressInformation AddressInformation;
        public DocuSignAPI.DOBInformation DOBInformation;
        public DocuSignAPI.SSN4Information SSN4Information;
        private String[] AddressInformation_type_info = new String[]{'AddressInformation','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] DOBInformation_type_info = new String[]{'DOBInformation','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] SSN4Information_type_info = new String[]{'SSN4Information','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AddressInformation','DOBInformation','SSN4Information'};
    }
    public class Document {
        public Integer ID;
        public String Name;
        public String PDFBytes;
        public String Password;
        public Boolean TransformPdfFields;
        public String FileExtension;
        public DocuSignAPI.ArrayOfMatchBox MatchBoxes;
        public String AttachmentDescription;
        public DocuSignAPI.ArrayOfDocumentField DocumentFields;
        public Boolean AuthoritativeCopy;
        public DocuSignAPI.HtmlDefinition HtmlDefinition;
        private String[] ID_type_info = new String[]{'ID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Name_type_info = new String[]{'Name','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] PDFBytes_type_info = new String[]{'PDFBytes','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Password_type_info = new String[]{'Password','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] TransformPdfFields_type_info = new String[]{'TransformPdfFields','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] FileExtension_type_info = new String[]{'FileExtension','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] MatchBoxes_type_info = new String[]{'MatchBoxes','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AttachmentDescription_type_info = new String[]{'AttachmentDescription','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] DocumentFields_type_info = new String[]{'DocumentFields','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AuthoritativeCopy_type_info = new String[]{'AuthoritativeCopy','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] HtmlDefinition_type_info = new String[]{'HtmlDefinition','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'ID','Name','PDFBytes','Password','TransformPdfFields','FileExtension','MatchBoxes','AttachmentDescription','DocumentFields','AuthoritativeCopy','HtmlDefinition'};
    }
    public class RequestDocumentPDFsResponse_element {
        public DocuSignAPI.DocumentPDFs RequestDocumentPDFsResult;
        private String[] RequestDocumentPDFsResult_type_info = new String[]{'RequestDocumentPDFsResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RequestDocumentPDFsResult'};
    }
    public class RecipientEsign {
        public String UserName;
        public String Email;
        public Boolean Esign;
        public Boolean ReservedRecipientEmail;
        public String ReservedRecipientNames;
        private String[] UserName_type_info = new String[]{'UserName','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Email_type_info = new String[]{'Email','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Esign_type_info = new String[]{'Esign','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] ReservedRecipientEmail_type_info = new String[]{'ReservedRecipientEmail','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ReservedRecipientNames_type_info = new String[]{'ReservedRecipientNames','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'UserName','Email','Esign','ReservedRecipientEmail','ReservedRecipientNames'};
    }
    public class ArrayOfCompositeTemplate {
        public DocuSignAPI.CompositeTemplate[] CompositeTemplate;
        private String[] CompositeTemplate_type_info = new String[]{'CompositeTemplate','http://www.docusign.net/API/3.0',null,'0','-1','true'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'CompositeTemplate'};
    }
    public class EnvelopeAuditEventsResponse_element {
        public DocuSignAPI.EnvelopeAuditEventsResult_element EnvelopeAuditEventsResult;
        private String[] EnvelopeAuditEventsResult_type_info = new String[]{'EnvelopeAuditEventsResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeAuditEventsResult'};
    }
    public class RequestTemplateListWithDocumentFields_element {
        public DocuSignAPI.ArrayOfString5 TemplateIDs;
        public Boolean IncludeDocumentBytes;
        private String[] TemplateIDs_type_info = new String[]{'TemplateIDs','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] IncludeDocumentBytes_type_info = new String[]{'IncludeDocumentBytes','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'TemplateIDs','IncludeDocumentBytes'};
    }
    public class PurgeDocumentStatus {
        public Boolean PurgeDocumentSuccess;
        public String PurgeDocumentError;
        private String[] PurgeDocumentSuccess_type_info = new String[]{'PurgeDocumentSuccess','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] PurgeDocumentError_type_info = new String[]{'PurgeDocumentError','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'PurgeDocumentSuccess','PurgeDocumentError'};
    }
    public class CreateEnvelopeFromTemplates_element {
        public DocuSignAPI.ArrayOfTemplateReference TemplateReferences;
        public DocuSignAPI.ArrayOfRecipient1 Recipients;
        public DocuSignAPI.EnvelopeInformation EnvelopeInformation;
        public Boolean ActivateEnvelope;
        private String[] TemplateReferences_type_info = new String[]{'TemplateReferences','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Recipients_type_info = new String[]{'Recipients','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EnvelopeInformation_type_info = new String[]{'EnvelopeInformation','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ActivateEnvelope_type_info = new String[]{'ActivateEnvelope','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'TemplateReferences','Recipients','EnvelopeInformation','ActivateEnvelope'};
    }
    public class PDFOptions {
        public Boolean ShowChanges;
        public Boolean AddWaterMark;
        public Boolean IncludeCert;
        public String CertificateLanguage;
        private String[] ShowChanges_type_info = new String[]{'ShowChanges','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] AddWaterMark_type_info = new String[]{'AddWaterMark','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] IncludeCert_type_info = new String[]{'IncludeCert','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] CertificateLanguage_type_info = new String[]{'CertificateLanguage','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'ShowChanges','AddWaterMark','IncludeCert','CertificateLanguage'};
    }
    public class RequestPDFResponse_element {
        public DocuSignAPI.EnvelopePDF RequestPDFResult;
        private String[] RequestPDFResult_type_info = new String[]{'RequestPDFResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RequestPDFResult'};
    }
    public class CorrectionStatus {
        public DocuSignAPI.EnvelopeSettings EnvelopeSettingsCorrectionStatus;
        public DocuSignAPI.ArrayOfRecipientCorrectionStatus RecipientCorrectionStatuses;
        public DocuSignAPI.Reminders Reminders;
        public DocuSignAPI.Expirations Expirations;
        private String[] EnvelopeSettingsCorrectionStatus_type_info = new String[]{'EnvelopeSettingsCorrectionStatus','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RecipientCorrectionStatuses_type_info = new String[]{'RecipientCorrectionStatuses','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Reminders_type_info = new String[]{'Reminders','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Expirations_type_info = new String[]{'Expirations','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeSettingsCorrectionStatus','RecipientCorrectionStatuses','Reminders','Expirations'};
    }
    public class ArrayOfCaptiveRecipient1 {
        public DocuSignAPI.CaptiveRecipient[] BrandResultItem;
        private String[] BrandResultItem_type_info = new String[]{'BrandResultItem','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'BrandResultItem'};
    }
    public class ArrayOfFolder {
        public DocuSignAPI.Folder[] Folder;
        private String[] Folder_type_info = new String[]{'Folder','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'Folder'};
    }
    public class ArrayOfTab {
        public DocuSignAPI.Tab[] Tab;
        private String[] Tab_type_info = new String[]{'Tab','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'Tab'};
    }
    public class VoidEnvelopeStatus {
        public Boolean VoidSuccess;
        private String[] VoidSuccess_type_info = new String[]{'VoidSuccess','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'VoidSuccess'};
    }
    public class RequestRecipientToken_element {
        public String EnvelopeID;
        public String ClientUserID;
        public String Username;
        public String Email;
        public DocuSignAPI.RequestRecipientTokenAuthenticationAssertion AuthenticationAssertion;
        public DocuSignAPI.RequestRecipientTokenClientURLs ClientURLs;
        private String[] EnvelopeID_type_info = new String[]{'EnvelopeID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ClientUserID_type_info = new String[]{'ClientUserID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Username_type_info = new String[]{'Username','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Email_type_info = new String[]{'Email','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AuthenticationAssertion_type_info = new String[]{'AuthenticationAssertion','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ClientURLs_type_info = new String[]{'ClientURLs','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeID','ClientUserID','Username','Email','AuthenticationAssertion','ClientURLs'};
    }
    public class BCCEmailAddress {
        public String Email;
        public Integer BCCEmailAddressId;
        private String[] Email_type_info = new String[]{'Email','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] BCCEmailAddressId_type_info = new String[]{'BCCEmailAddressId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'Email','BCCEmailAddressId'};
    }
    public class RequestPDFNoWaterMark_element {
        public String EnvelopeID;
        private String[] EnvelopeID_type_info = new String[]{'EnvelopeID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeID'};
    }
    public class FilteredEnvelopeStatusChanges {
        public Integer ResultSetSize;
        public DocuSignAPI.ArrayOfEnvelopeStatusChange EnvelopeStatusChanges;
        private String[] ResultSetSize_type_info = new String[]{'ResultSetSize','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] EnvelopeStatusChanges_type_info = new String[]{'EnvelopeStatusChanges','http://www.docusign.net/API/3.0',null,'1','1','true'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'ResultSetSize','EnvelopeStatusChanges'};
    }
    public class GetAccountBrandsResponse_element {
        public DocuSignAPI.BrandResults GetAccountBrandsResult;
        private String[] GetAccountBrandsResult_type_info = new String[]{'GetAccountBrandsResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'GetAccountBrandsResult'};
    }
    public class EnvelopeEvent {
        public String EnvelopeEventStatusCode;
        public Boolean IncludeDocuments;
        private String[] EnvelopeEventStatusCode_type_info = new String[]{'EnvelopeEventStatusCode','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] IncludeDocuments_type_info = new String[]{'IncludeDocuments','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeEventStatusCode','IncludeDocuments'};
    }
    public class RequestPDFNoWaterMarkResponse_element {
        public DocuSignAPI.EnvelopePDF RequestPDFNoWaterMarkResult;
        private String[] RequestPDFNoWaterMarkResult_type_info = new String[]{'RequestPDFNoWaterMarkResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RequestPDFNoWaterMarkResult'};
    }
    public class DocumentPDF {
        public String Name;
        public String PDFBytes;
        public Integer DocumentID;
        public String DocumentType;
        private String[] Name_type_info = new String[]{'Name','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] PDFBytes_type_info = new String[]{'PDFBytes','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] DocumentID_type_info = new String[]{'DocumentID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] DocumentType_type_info = new String[]{'DocumentType','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'Name','PDFBytes','DocumentID','DocumentType'};
    }
    public class GetFolderListResponse_element {
        public DocuSignAPI.AvailableFolders GetFolderListResult;
        private String[] GetFolderListResult_type_info = new String[]{'GetFolderListResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'GetFolderListResult'};
    }
    public class AuthenticationStatus {
        public DocuSignAPI.EventResult AccessCodeResult;
        public DocuSignAPI.EventResult IDQuestionsResult;
        public DocuSignAPI.EventResult IDLookupResult;
        public DocuSignAPI.EventResult AgeVerifyResult;
        public DocuSignAPI.EventResult STANPinResult;
        public DocuSignAPI.EventResult OFACResult;
        public DocuSignAPI.EventResult PhoneAuthResult;
        public DocuSignAPI.EventResult LiveIDResult;
        public DocuSignAPI.EventResult FacebookResult;
        public DocuSignAPI.EventResult GoogleResult;
        public DocuSignAPI.EventResult LinkedinResult;
        public DocuSignAPI.EventResult SalesforceResult;
        public DocuSignAPI.EventResult TwitterResult;
        public DocuSignAPI.EventResult OpenIDResult;
        public DocuSignAPI.EventResult AnySocialIDResult;
        public DocuSignAPI.EventResult YahooResult;
        private String[] AccessCodeResult_type_info = new String[]{'AccessCodeResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] IDQuestionsResult_type_info = new String[]{'IDQuestionsResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] IDLookupResult_type_info = new String[]{'IDLookupResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AgeVerifyResult_type_info = new String[]{'AgeVerifyResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] STANPinResult_type_info = new String[]{'STANPinResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] OFACResult_type_info = new String[]{'OFACResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] PhoneAuthResult_type_info = new String[]{'PhoneAuthResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] LiveIDResult_type_info = new String[]{'LiveIDResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] FacebookResult_type_info = new String[]{'FacebookResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] GoogleResult_type_info = new String[]{'GoogleResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] LinkedinResult_type_info = new String[]{'LinkedinResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] SalesforceResult_type_info = new String[]{'SalesforceResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] TwitterResult_type_info = new String[]{'TwitterResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] OpenIDResult_type_info = new String[]{'OpenIDResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AnySocialIDResult_type_info = new String[]{'AnySocialIDResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] YahooResult_type_info = new String[]{'YahooResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AccessCodeResult','IDQuestionsResult','IDLookupResult','AgeVerifyResult','STANPinResult','OFACResult','PhoneAuthResult','LiveIDResult','FacebookResult','GoogleResult','LinkedinResult','SalesforceResult','TwitterResult','OpenIDResult','AnySocialIDResult','YahooResult'};
    }
    public class RecipientSMSAuthentication {
        public DocuSignAPI.ArrayOfString SenderProvidedNumbers;
        private String[] SenderProvidedNumbers_type_info = new String[]{'SenderProvidedNumbers','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'SenderProvidedNumbers'};
    }
    public class ArrayOfString1 {
        public String[] CustomField;
        private String[] CustomField_type_info = new String[]{'CustomField','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'CustomField'};
    }
    public class ArrayOfString2 {
        public String[] EnvelopeId;
        private String[] EnvelopeId_type_info = new String[]{'EnvelopeId','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeId'};
    }
    public class EnvelopeAuditEvent {
        public String LogTime;
        public String Source;
        public String UserName;
        public String UserId;
        public String Action;
        public String Message;
        public String EnvelopeStatus;
        public String ClientIPAddress;
        public String Information;
        public String GeoLocation;
        public String Language;
        private String[] LogTime_type_info = new String[]{'LogTime','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Source_type_info = new String[]{'Source','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] UserName_type_info = new String[]{'UserName','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] UserId_type_info = new String[]{'UserId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Action_type_info = new String[]{'Action','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Message_type_info = new String[]{'Message','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EnvelopeStatus_type_info = new String[]{'EnvelopeStatus','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ClientIPAddress_type_info = new String[]{'ClientIPAddress','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Information_type_info = new String[]{'Information','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] GeoLocation_type_info = new String[]{'GeoLocation','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Language_type_info = new String[]{'Language','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'LogTime','Source','UserName','UserId','Action','Message','EnvelopeStatus','ClientIPAddress','Information','GeoLocation','Language'};
    }
    public class CreateEnvelopeFromTemplatesResponse_element {
        public DocuSignAPI.EnvelopeStatus CreateEnvelopeFromTemplatesResult;
        private String[] CreateEnvelopeFromTemplatesResult_type_info = new String[]{'CreateEnvelopeFromTemplatesResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'CreateEnvelopeFromTemplatesResult'};
    }
    public class ArrayOfString3 {
        public String[] RecipientName;
        private String[] RecipientName_type_info = new String[]{'RecipientName','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RecipientName'};
    }
    public class ArrayOfString4 {
        public String[] EnabledFeatures;
        private String[] EnabledFeatures_type_info = new String[]{'EnabledFeatures','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnabledFeatures'};
    }
    public class PurgeDocuments_element {
        public String EnvelopeID;
        private String[] EnvelopeID_type_info = new String[]{'EnvelopeID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeID'};
    }
    public class ConnectFailuresFilter {
        public String AccountId;
        public DateTime DateFrom;
        public DateTime DateTo;
        private String[] AccountId_type_info = new String[]{'AccountId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] DateFrom_type_info = new String[]{'DateFrom','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] DateTo_type_info = new String[]{'DateTo','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AccountId','DateFrom','DateTo'};
    }
    public class DisplaySettings {
        public String Display;
        public String DisplayLabel;
        public Integer DisplayPageNumber;
        public Integer DisplayOrder;
        public String TableStyle;
        public String CellStyle;
        public String InlineOuterStyle;
        public String LabelWhenOpened;
        public String PreLabel;
        public Boolean HideLabelWhenOpened;
        public Boolean ScrollToTopWhenOpened;
        public DocuSignAPI.CollapsibleSettings CollapsibleSettings;
        private String[] Display_type_info = new String[]{'Display','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] DisplayLabel_type_info = new String[]{'DisplayLabel','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] DisplayPageNumber_type_info = new String[]{'DisplayPageNumber','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] DisplayOrder_type_info = new String[]{'DisplayOrder','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] TableStyle_type_info = new String[]{'TableStyle','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CellStyle_type_info = new String[]{'CellStyle','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] InlineOuterStyle_type_info = new String[]{'InlineOuterStyle','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] LabelWhenOpened_type_info = new String[]{'LabelWhenOpened','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] PreLabel_type_info = new String[]{'PreLabel','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] HideLabelWhenOpened_type_info = new String[]{'HideLabelWhenOpened','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ScrollToTopWhenOpened_type_info = new String[]{'ScrollToTopWhenOpened','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CollapsibleSettings_type_info = new String[]{'CollapsibleSettings','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'Display','DisplayLabel','DisplayPageNumber','DisplayOrder','TableStyle','CellStyle','InlineOuterStyle','LabelWhenOpened','PreLabel','HideLabelWhenOpened','ScrollToTopWhenOpened','CollapsibleSettings'};
    }
    public class ArrayOfString5 {
        public String[] string_x;
        private String[] string_x_type_info = new String[]{'string','http://www.docusign.net/API/3.0',null,'0','-1','true'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'string_x'};
    }
    public class ArrayOfString6 {
        public String[] UserId;
        private String[] UserId_type_info = new String[]{'UserId','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'UserId'};
    }
    public class AccountSettingsList {
        public DocuSignAPI.AccountSetting[] AccountSetting;
        private String[] AccountSetting_type_info = new String[]{'AccountSetting','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AccountSetting'};
    }
    public class CaptiveRecipientResults {
        public DocuSignAPI.ArrayOfCaptiveRecipient1 CaptiveRecipients;
        private String[] CaptiveRecipients_type_info = new String[]{'CaptiveRecipients','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'CaptiveRecipients'};
    }
    public class RequestRecipientFaxTokenResponse_element {
        public String RequestRecipientFaxTokenResult;
        private String[] RequestRecipientFaxTokenResult_type_info = new String[]{'RequestRecipientFaxTokenResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RequestRecipientFaxTokenResult'};
    }
    public class ArrayOfPositiveInteger {
        public Integer[] DocumentID;
        private String[] DocumentID_type_info = new String[]{'DocumentID','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'DocumentID'};
    }
    public class GetStatusInDocuSignConnectFormat_element {
        public String EnvelopeID;
        private String[] EnvelopeID_type_info = new String[]{'EnvelopeID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeID'};
    }
    public class EnvelopeInformation {
        public String TransactionID;
        public Boolean Asynchronous;
        public String AccountId;
        public String EmailBlurb;
        public String Subject;
        public String SigningLocation;
        public DocuSignAPI.ArrayOfCustomField CustomFields;
        public DocuSignAPI.VaultingOptions VaultingOptions;
        public Boolean AutoNavigation;
        public Boolean EnvelopeIdStamping;
        public Boolean AuthoritativeCopy;
        public Boolean AuthoritativeCopyDefault;
        public DocuSignAPI.Notification Notification;
        public Boolean EnforceSignerVisibility;
        public Boolean EnableWetSign;
        public Boolean AllowRecipientRecursion;
        public Boolean AllowMarkup;
        public String BrandId;
        public DocuSignAPI.EventNotification EventNotification;
        public Boolean AllowReassign;
        public String Accessibility;
        public Boolean MessageLock;
        public Boolean RecipientsLock;
        public Boolean UseDisclosure;
        public DocuSignAPI.EmailSettings EmailSettings;
        private String[] TransactionID_type_info = new String[]{'TransactionID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Asynchronous_type_info = new String[]{'Asynchronous','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AccountId_type_info = new String[]{'AccountId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EmailBlurb_type_info = new String[]{'EmailBlurb','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Subject_type_info = new String[]{'Subject','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] SigningLocation_type_info = new String[]{'SigningLocation','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CustomFields_type_info = new String[]{'CustomFields','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] VaultingOptions_type_info = new String[]{'VaultingOptions','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AutoNavigation_type_info = new String[]{'AutoNavigation','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EnvelopeIdStamping_type_info = new String[]{'EnvelopeIdStamping','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AuthoritativeCopy_type_info = new String[]{'AuthoritativeCopy','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AuthoritativeCopyDefault_type_info = new String[]{'AuthoritativeCopyDefault','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Notification_type_info = new String[]{'Notification','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EnforceSignerVisibility_type_info = new String[]{'EnforceSignerVisibility','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EnableWetSign_type_info = new String[]{'EnableWetSign','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AllowRecipientRecursion_type_info = new String[]{'AllowRecipientRecursion','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AllowMarkup_type_info = new String[]{'AllowMarkup','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] BrandId_type_info = new String[]{'BrandId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EventNotification_type_info = new String[]{'EventNotification','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AllowReassign_type_info = new String[]{'AllowReassign','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Accessibility_type_info = new String[]{'Accessibility','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] MessageLock_type_info = new String[]{'MessageLock','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RecipientsLock_type_info = new String[]{'RecipientsLock','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] UseDisclosure_type_info = new String[]{'UseDisclosure','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EmailSettings_type_info = new String[]{'EmailSettings','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'TransactionID','Asynchronous','AccountId','EmailBlurb','Subject','SigningLocation','CustomFields','VaultingOptions','AutoNavigation','EnvelopeIdStamping','AuthoritativeCopy','AuthoritativeCopyDefault','Notification','EnforceSignerVisibility','EnableWetSign','AllowRecipientRecursion','AllowMarkup','BrandId','EventNotification','AllowReassign','Accessibility','MessageLock','RecipientsLock','UseDisclosure','EmailSettings'};
    }
    public class AddressInformation {
        public String Street1;
        public String Street2;
        public String City;
        public String State;
        public String Zip;
        public String ZipPlus4;
        private String[] Street1_type_info = new String[]{'Street1','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Street2_type_info = new String[]{'Street2','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] City_type_info = new String[]{'City','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] State_type_info = new String[]{'State','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Zip_type_info = new String[]{'Zip','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ZipPlus4_type_info = new String[]{'ZipPlus4','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'Street1','Street2','City','State','Zip','ZipPlus4'};
    }
    public class HtmlDefinition {
        public String Source;
        public String RemoveEmptyTags;
        public String HeaderLabel;
        public String DisplayAnchorPrefix;
        public Integer MaxScreenWidth;
        public DocuSignAPI.ArrayOfDisplayAnchor DisplayAnchors;
        private String[] Source_type_info = new String[]{'Source','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RemoveEmptyTags_type_info = new String[]{'RemoveEmptyTags','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] HeaderLabel_type_info = new String[]{'HeaderLabel','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] DisplayAnchorPrefix_type_info = new String[]{'DisplayAnchorPrefix','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] MaxScreenWidth_type_info = new String[]{'MaxScreenWidth','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] DisplayAnchors_type_info = new String[]{'DisplayAnchors','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'Source','RemoveEmptyTags','HeaderLabel','DisplayAnchorPrefix','MaxScreenWidth','DisplayAnchors'};
    }
    public class RequestEnvelopeV2Options {
        public Boolean IncludeDocumentBytes;
        public Boolean IncludeAC;
        public Boolean IncludeAnchorTabLocations;
        private String[] IncludeDocumentBytes_type_info = new String[]{'IncludeDocumentBytes','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] IncludeAC_type_info = new String[]{'IncludeAC','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] IncludeAnchorTabLocations_type_info = new String[]{'IncludeAnchorTabLocations','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'IncludeDocumentBytes','IncludeAC','IncludeAnchorTabLocations'};
    }
    public class RequestTemplateList_element {
        public DocuSignAPI.ArrayOfString5 TemplateIDs;
        public Boolean IncludeDocumentBytes;
        private String[] TemplateIDs_type_info = new String[]{'TemplateIDs','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] IncludeDocumentBytes_type_info = new String[]{'IncludeDocumentBytes','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'TemplateIDs','IncludeDocumentBytes'};
    }
    public class ArrayOfDocument {
        public DocuSignAPI.Document[] Document;
        private String[] Document_type_info = new String[]{'Document','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'Document'};
    }
    public class EnvelopeStatusFilter {
        public DocuSignAPI.UserInfo UserInfo;
        public String AccountId;
        public DocuSignAPI.EnvelopeStatusFilterBeginDateTime BeginDateTime;
        public DateTime EndDateTime;
        public DocuSignAPI.ArrayOfEnvelopeStatusCode Statuses;
        public DocuSignAPI.ArrayOfString2 EnvelopeIds;
        public Integer StartAtIndex;
        public String ACStatus;
        private String[] UserInfo_type_info = new String[]{'UserInfo','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AccountId_type_info = new String[]{'AccountId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] BeginDateTime_type_info = new String[]{'BeginDateTime','http://www.docusign.net/API/3.0',null,'1','1','true'};
        private String[] EndDateTime_type_info = new String[]{'EndDateTime','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Statuses_type_info = new String[]{'Statuses','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EnvelopeIds_type_info = new String[]{'EnvelopeIds','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] StartAtIndex_type_info = new String[]{'StartAtIndex','http://www.docusign.net/API/3.0',null,'1','1','true'};
        private String[] ACStatus_type_info = new String[]{'ACStatus','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'UserInfo','AccountId','BeginDateTime','EndDateTime','Statuses','EnvelopeIds','StartAtIndex','ACStatus'};
    }
    public class ErrorDetails {
        public String ErrorCode;
        public String Message;
        private String[] ErrorCode_type_info = new String[]{'ErrorCode','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Message_type_info = new String[]{'Message','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'ErrorCode','Message'};
    }
    public class Envelope {
        public String TransactionID;
        public Boolean Asynchronous;
        public String AccountId;
        public DocuSignAPI.ArrayOfDocument Documents;
        public DocuSignAPI.ArrayOfRecipient Recipients;
        public DocuSignAPI.ArrayOfTab Tabs;
        public String Subject;
        public String EmailBlurb;
        public String SigningLocation;
        public DocuSignAPI.ArrayOfCustomField CustomFields;
        public DocuSignAPI.VaultingOptions VaultingOptions;
        public Boolean AutoNavigation;
        public Boolean EnvelopeIdStamping;
        public Boolean AuthoritativeCopy;
        public DocuSignAPI.Notification Notification;
        public DocuSignAPI.ArrayOfAttachment EnvelopeAttachment;
        public Boolean EnforceSignerVisibility;
        public Boolean EnableWetSign;
        public Boolean AllowMarkup;
        public DocuSignAPI.EventNotification EventNotification;
        public Boolean AllowReassign;
        public String BrandId;
        public Boolean BrandLock;
        public String Accessibility;
        public Boolean MessageLock;
        public Boolean RecipientsLock;
        public Boolean UseDisclosure;
        public DocuSignAPI.EmailSettings EmailSettings;
        public Boolean AuthoritativeCopyDefault;
        private String[] TransactionID_type_info = new String[]{'TransactionID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Asynchronous_type_info = new String[]{'Asynchronous','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AccountId_type_info = new String[]{'AccountId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Documents_type_info = new String[]{'Documents','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Recipients_type_info = new String[]{'Recipients','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Tabs_type_info = new String[]{'Tabs','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Subject_type_info = new String[]{'Subject','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EmailBlurb_type_info = new String[]{'EmailBlurb','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] SigningLocation_type_info = new String[]{'SigningLocation','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CustomFields_type_info = new String[]{'CustomFields','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] VaultingOptions_type_info = new String[]{'VaultingOptions','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AutoNavigation_type_info = new String[]{'AutoNavigation','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EnvelopeIdStamping_type_info = new String[]{'EnvelopeIdStamping','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AuthoritativeCopy_type_info = new String[]{'AuthoritativeCopy','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Notification_type_info = new String[]{'Notification','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EnvelopeAttachment_type_info = new String[]{'EnvelopeAttachment','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EnforceSignerVisibility_type_info = new String[]{'EnforceSignerVisibility','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EnableWetSign_type_info = new String[]{'EnableWetSign','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AllowMarkup_type_info = new String[]{'AllowMarkup','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EventNotification_type_info = new String[]{'EventNotification','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AllowReassign_type_info = new String[]{'AllowReassign','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] BrandId_type_info = new String[]{'BrandId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] BrandLock_type_info = new String[]{'BrandLock','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Accessibility_type_info = new String[]{'Accessibility','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] MessageLock_type_info = new String[]{'MessageLock','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RecipientsLock_type_info = new String[]{'RecipientsLock','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] UseDisclosure_type_info = new String[]{'UseDisclosure','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EmailSettings_type_info = new String[]{'EmailSettings','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AuthoritativeCopyDefault_type_info = new String[]{'AuthoritativeCopyDefault','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'TransactionID','Asynchronous','AccountId','Documents','Recipients','Tabs','Subject','EmailBlurb','SigningLocation','CustomFields','VaultingOptions','AutoNavigation','EnvelopeIdStamping','AuthoritativeCopy','Notification','EnvelopeAttachment','EnforceSignerVisibility','EnableWetSign','AllowMarkup','EventNotification','AllowReassign','BrandId','BrandLock','Accessibility','MessageLock','RecipientsLock','UseDisclosure','EmailSettings','AuthoritativeCopyDefault'};
    }
    public class RequestStatusCodesResponse_element {
        public DocuSignAPI.FilteredEnvelopeStatusChanges RequestStatusCodesResult;
        private String[] RequestStatusCodesResult_type_info = new String[]{'RequestStatusCodesResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RequestStatusCodesResult'};
    }
    public class ArrayOfAttachment {
        public DocuSignAPI.Attachment[] Attachment;
        private String[] Attachment_type_info = new String[]{'Attachment','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'Attachment'};
    }
    public class Notification {
        public Boolean UseAccountDefaults;
        public DocuSignAPI.Reminders Reminders;
        public DocuSignAPI.Expirations Expirations;
        private String[] UseAccountDefaults_type_info = new String[]{'UseAccountDefaults','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Reminders_type_info = new String[]{'Reminders','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Expirations_type_info = new String[]{'Expirations','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'UseAccountDefaults','Reminders','Expirations'};
    }
    public class ArrayOfRecipientCorrection {
        public DocuSignAPI.RecipientCorrection[] RecipientCorrection;
        private String[] RecipientCorrection_type_info = new String[]{'RecipientCorrection','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RecipientCorrection'};
    }
    public class SynchEnvelopeStatus {
        public String EnvelopeStatus;
        public String EnvelopeID;
        private String[] EnvelopeStatus_type_info = new String[]{'EnvelopeStatus','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] EnvelopeID_type_info = new String[]{'EnvelopeID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeStatus','EnvelopeID'};
    }
    public class SSN9InformationInput {
        public DocuSignAPI.SSN9Information SSN9Information;
        public String DisplayLevel;
        private String[] SSN9Information_type_info = new String[]{'SSN9Information','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] DisplayLevel_type_info = new String[]{'DisplayLevel','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'SSN9Information','DisplayLevel'};
    }
    public class RecipientCorrectionStatus {
        public Boolean CorrectionSucceeded;
        public DocuSignAPI.RecipientCorrection RecipientCorrection;
        public DocuSignAPI.RecipientStatus RecipientStatus;
        private String[] CorrectionSucceeded_type_info = new String[]{'CorrectionSucceeded','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] RecipientCorrection_type_info = new String[]{'RecipientCorrection','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RecipientStatus_type_info = new String[]{'RecipientStatus','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'CorrectionSucceeded','RecipientCorrection','RecipientStatus'};
    }
    public class RequestStatus_element {
        public String EnvelopeID;
        private String[] EnvelopeID_type_info = new String[]{'EnvelopeID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeID'};
    }
    public class SynchEnvelope_element {
        public String TransactionID;
        public String AccountID;
        public Boolean Block;
        private String[] TransactionID_type_info = new String[]{'TransactionID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AccountID_type_info = new String[]{'AccountID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Block_type_info = new String[]{'Block','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'TransactionID','AccountID','Block'};
    }
    public class GetRecipientListResponse_element {
        public DocuSignAPI.RecipientList GetRecipientListResult;
        private String[] GetRecipientListResult_type_info = new String[]{'GetRecipientListResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'GetRecipientListResult'};
    }
    public class RequestDocumentPDFsRecipientsView_element {
        public String EnvelopeID;
        public String RecipientName;
        public String RecipientEmail;
        private String[] EnvelopeID_type_info = new String[]{'EnvelopeID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RecipientName_type_info = new String[]{'RecipientName','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RecipientEmail_type_info = new String[]{'RecipientEmail','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeID','RecipientName','RecipientEmail'};
    }
    public class FoldersFilter {
        public String AccountId;
        public Boolean IncludeHierarchy;
        private String[] AccountId_type_info = new String[]{'AccountId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] IncludeHierarchy_type_info = new String[]{'IncludeHierarchy','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AccountId','IncludeHierarchy'};
    }
    public class EnvelopeTemplate {
        public DocuSignAPI.EnvelopeTemplateDefinition EnvelopeTemplateDefinition;
        public DocuSignAPI.Envelope Envelope;
        private String[] EnvelopeTemplateDefinition_type_info = new String[]{'EnvelopeTemplateDefinition','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Envelope_type_info = new String[]{'Envelope','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeTemplateDefinition','Envelope'};
    }
    public class PublishConnectFailuresFilter {
        public String AccountId;
        public Boolean Synchronous;
        public DocuSignAPI.ArrayOfString2 EnvelopeIds;
        private String[] AccountId_type_info = new String[]{'AccountId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Synchronous_type_info = new String[]{'Synchronous','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EnvelopeIds_type_info = new String[]{'EnvelopeIds','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AccountId','Synchronous','EnvelopeIds'};
    }
    public class RequestPDFRecipientsView_element {
        public String EnvelopeID;
        public String RecipientName;
        public String RecipientEmail;
        public DocuSignAPI.PDFOptions PDFOptions;
        private String[] EnvelopeID_type_info = new String[]{'EnvelopeID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RecipientName_type_info = new String[]{'RecipientName','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RecipientEmail_type_info = new String[]{'RecipientEmail','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] PDFOptions_type_info = new String[]{'PDFOptions','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeID','RecipientName','RecipientEmail','PDFOptions'};
    }
    public class GetAccountBrands_element {
        public String AccountId;
        private String[] AccountId_type_info = new String[]{'AccountId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AccountId'};
    }
    public class RequestStatusesWithDocumentFields_element {
        public DocuSignAPI.EnvelopeStatusFilter EnvelopeStatusFilter;
        private String[] EnvelopeStatusFilter_type_info = new String[]{'EnvelopeStatusFilter','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeStatusFilter'};
    }
    public class RequestRecipientFaxPDFResponse_element {
        public DocuSignAPI.EnvelopePDF RequestRecipientFaxPDFResult;
        private String[] RequestRecipientFaxPDFResult_type_info = new String[]{'RequestRecipientFaxPDFResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RequestRecipientFaxPDFResult'};
    }
    public class ArrayOfMatchBox {
        public DocuSignAPI.MatchBox[] MatchBox;
        private String[] MatchBox_type_info = new String[]{'MatchBox','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'MatchBox'};
    }
    public class RequestStatusChangesResponse_element {
        public DocuSignAPI.FilteredEnvelopeStatusChanges RequestStatusChangesResult;
        private String[] RequestStatusChangesResult_type_info = new String[]{'RequestStatusChangesResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RequestStatusChangesResult'};
    }
    public class SSN9Information {
        public String SSN9;
        private String[] SSN9_type_info = new String[]{'SSN9','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'SSN9'};
    }
    public class DocumentPDFs {
        public String EnvelopeId;
        public DocuSignAPI.DocumentPDF[] DocumentPDF;
        private String[] EnvelopeId_type_info = new String[]{'EnvelopeId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] DocumentPDF_type_info = new String[]{'DocumentPDF','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeId','DocumentPDF'};
    }
    public class DeleteEnvelopes_element {
        public DocuSignAPI.DeleteEnvelopesArg Arg;
        private String[] Arg_type_info = new String[]{'Arg','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'Arg'};
    }
    public class ArrayOfEnvelopeEvent {
        public DocuSignAPI.EnvelopeEvent[] EnvelopeEvent;
        private String[] EnvelopeEvent_type_info = new String[]{'EnvelopeEvent','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeEvent'};
    }
    public class CaptiveRecipient {
        public String ClientUserId;
        public String UserName;
        public String Email;
        public DocuSignAPI.ErrorDetails ErrorDetails;
        private String[] ClientUserId_type_info = new String[]{'ClientUserId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] UserName_type_info = new String[]{'UserName','http://www.docusign.net/API/3.0',null,'1','1','true'};
        private String[] Email_type_info = new String[]{'Email','http://www.docusign.net/API/3.0',null,'1','1','true'};
        private String[] ErrorDetails_type_info = new String[]{'ErrorDetails','http://www.docusign.net/API/3.0',null,'1','1','true'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'ClientUserId','UserName','Email','ErrorDetails'};
    }
    public class MatchBox {
        public Integer PageNumber;
        public Integer XPosition;
        public Integer YPosition;
        public Integer Width;
        public Integer Height;
        private String[] PageNumber_type_info = new String[]{'PageNumber','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] XPosition_type_info = new String[]{'XPosition','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] YPosition_type_info = new String[]{'YPosition','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] Width_type_info = new String[]{'Width','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] Height_type_info = new String[]{'Height','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'PageNumber','XPosition','YPosition','Width','Height'};
    }
    public class DOBInformation {
        public DateTime DOB;
        private String[] DOB_type_info = new String[]{'DOB','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'DOB'};
    }
    public class DocumentStatus {
        public Integer ID;
        public String Name;
        public String TemplateName;
        public Integer Sequence;
        public DocuSignAPI.ArrayOfDocumentField DocumentFields;
        private String[] ID_type_info = new String[]{'ID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Name_type_info = new String[]{'Name','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] TemplateName_type_info = new String[]{'TemplateName','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Sequence_type_info = new String[]{'Sequence','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] DocumentFields_type_info = new String[]{'DocumentFields','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'ID','Name','TemplateName','Sequence','DocumentFields'};
    }
    public class AccountMembershipFeaturesList {
        public String Email;
        public String UserName;
        public DocuSignAPI.ArrayOfString4 EnabledFeaturesSet;
        private String[] Email_type_info = new String[]{'Email','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] UserName_type_info = new String[]{'UserName','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EnabledFeaturesSet_type_info = new String[]{'EnabledFeaturesSet','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'Email','UserName','EnabledFeaturesSet'};
    }
    public class AnchorTab {
        public String AnchorTabString;
        public Double XOffset;
        public Double YOffset;
        public String Unit;
        public Boolean IgnoreIfNotPresent;
        public Boolean MatchWholeWord;
        public Boolean CaseSensitive;
        public String AnchorTabProcessorVersion;
        public String HorizontalAlignment;
        private String[] AnchorTabString_type_info = new String[]{'AnchorTabString','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] XOffset_type_info = new String[]{'XOffset','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] YOffset_type_info = new String[]{'YOffset','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Unit_type_info = new String[]{'Unit','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] IgnoreIfNotPresent_type_info = new String[]{'IgnoreIfNotPresent','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] MatchWholeWord_type_info = new String[]{'MatchWholeWord','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CaseSensitive_type_info = new String[]{'CaseSensitive','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AnchorTabProcessorVersion_type_info = new String[]{'AnchorTabProcessorVersion','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] HorizontalAlignment_type_info = new String[]{'HorizontalAlignment','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AnchorTabString','XOffset','YOffset','Unit','IgnoreIfNotPresent','MatchWholeWord','CaseSensitive','AnchorTabProcessorVersion','HorizontalAlignment'};
    }
    public class EventResult {
        public String Status;
        public DateTime EventTimestamp;
        public String FailureDescription;
        public String VendorFailureStatusCode;
        private String[] Status_type_info = new String[]{'Status','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] EventTimestamp_type_info = new String[]{'EventTimestamp','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] FailureDescription_type_info = new String[]{'FailureDescription','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] VendorFailureStatusCode_type_info = new String[]{'VendorFailureStatusCode','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'Status','EventTimestamp','FailureDescription','VendorFailureStatusCode'};
    }
    public class FormDataXfdfField {
        public String value;
        public String name;
        private String[] value_type_info = new String[]{'value','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] name_att_info = new String[]{'name'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'value'};
    }
    public class CreateAccountBrands_element {
        public String AccountId;
        public DocuSignAPI.BrandDefinitions BrandDefinitions;
        private String[] AccountId_type_info = new String[]{'AccountId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] BrandDefinitions_type_info = new String[]{'BrandDefinitions','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AccountId','BrandDefinitions'};
    }
    public class GetStatusInDocuSignConnectFormatResponse_element {
        public DocuSignAPI.DocuSignEnvelopeInformation GetStatusInDocuSignConnectFormatResult;
        private String[] GetStatusInDocuSignConnectFormatResult_type_info = new String[]{'GetStatusInDocuSignConnectFormatResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'GetStatusInDocuSignConnectFormatResult'};
    }
    public class AddressBookPhoneNumber {
        public String PhoneNumber;
        public String Designation;
        private String[] PhoneNumber_type_info = new String[]{'PhoneNumber','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Designation_type_info = new String[]{'Designation','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'PhoneNumber','Designation'};
    }
    public class PublishConnectFailures_element {
        public DocuSignAPI.PublishConnectFailuresFilter PublishConnectFailuresFilter;
        private String[] PublishConnectFailuresFilter_type_info = new String[]{'PublishConnectFailuresFilter','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'PublishConnectFailuresFilter'};
    }
    public class Expirations {
        public Boolean ExpireEnabled;
        public Integer ExpireAfter;
        public Integer ExpireWarn;
        private String[] ExpireEnabled_type_info = new String[]{'ExpireEnabled','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] ExpireAfter_type_info = new String[]{'ExpireAfter','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ExpireWarn_type_info = new String[]{'ExpireWarn','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'ExpireEnabled','ExpireAfter','ExpireWarn'};
    }
    public class RequestStatuses_element {
        public DocuSignAPI.EnvelopeStatusFilter EnvelopeStatusFilter;
        private String[] EnvelopeStatusFilter_type_info = new String[]{'EnvelopeStatusFilter','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeStatusFilter'};
    }
    public class RequestStatusCodes_element {
        public DocuSignAPI.EnvelopeStatusFilter EnvelopeStatusFilter;
        private String[] EnvelopeStatusFilter_type_info = new String[]{'EnvelopeStatusFilter','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeStatusFilter'};
    }
    public class DeleteAccountBrandsResponse_element {
        public DocuSignAPI.BrandResults DeleteAccountBrandsResult;
        private String[] DeleteAccountBrandsResult_type_info = new String[]{'DeleteAccountBrandsResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'DeleteAccountBrandsResult'};
    }
    public class RemoveAddressBookItemsResponse_element {
        public DocuSignAPI.UpdateAddressBookResult RemoveAddressBookItemsResult;
        private String[] RemoveAddressBookItemsResult_type_info = new String[]{'RemoveAddressBookItemsResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RemoveAddressBookItemsResult'};
    }
    public class GetAuthenticationTokenResponse_element {
        public String GetAuthenticationTokenResult;
        private String[] GetAuthenticationTokenResult_type_info = new String[]{'GetAuthenticationTokenResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'GetAuthenticationTokenResult'};
    }
    public class ArrayOfBrandRequestItem {
        public DocuSignAPI.BrandRequestItem[] BrandRequestItem;
        private String[] BrandRequestItem_type_info = new String[]{'BrandRequestItem','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'BrandRequestItem'};
    }
    public class Attachment {
        public String Data;
        public String Label;
        public String Type_x;
        private String[] Data_type_info = new String[]{'Data','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Label_type_info = new String[]{'Label','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Type_x_type_info = new String[]{'Type','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'Data','Label','Type_x'};
    }
    public class SSN4Information {
        public String SSN4;
        private String[] SSN4_type_info = new String[]{'SSN4','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'SSN4'};
    }
    public class BrandDefinitions {
        public String BrandDefinitionsFileBytes;
        private String[] BrandDefinitionsFileBytes_type_info = new String[]{'BrandDefinitionsFileBytes','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'BrandDefinitionsFileBytes'};
    }
    public class MoveEnvelopes_element {
        public DocuSignAPI.MoveEnvelopesArg Arg;
        private String[] Arg_type_info = new String[]{'Arg','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'Arg'};
    }
    public class GetConnectFailures_element {
        public DocuSignAPI.ConnectFailuresFilter ConnectFailuresFilter;
        private String[] ConnectFailuresFilter_type_info = new String[]{'ConnectFailuresFilter','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'ConnectFailuresFilter'};
    }
    public class ArrayOfTemplateReference {
        public DocuSignAPI.TemplateReference[] TemplateReference;
        private String[] TemplateReference_type_info = new String[]{'TemplateReference','http://www.docusign.net/API/3.0',null,'0','-1','true'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'TemplateReference'};
    }
    public class RecipientStatus {
        public String Type_x;
        public String Email;
        public String UserName;
        public Integer RoutingOrder;
        public DateTime Sent;
        public DateTime Delivered;
        public DateTime Signed;
        public DateTime Declined;
        public String DeclineReason;
        public String AutoRespondedReason;
        public String Status;
        public String RecipientIPAddress;
        public String ClientUserId;
        public Boolean AutoNavigation;
        public DocuSignAPI.IDCheckInformation IDCheckInformation;
        public DocuSignAPI.AuthenticationStatus RecipientAuthenticationStatus;
        public DocuSignAPI.ArrayOfString1 CustomFields;
        public DocuSignAPI.ArrayOfTabStatus TabStatuses;
        public DocuSignAPI.ArrayOfAttachment RecipientAttachment;
        public String AccountStatus;
        public DocuSignAPI.RecipientStatusEsignAgreementInformation EsignAgreementInformation;
        public DocuSignAPI.FormData FormData;
        public String RecipientId;
        public String DeliveryMethod;
        public String FaxNumber;
        private String[] Type_x_type_info = new String[]{'Type','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] Email_type_info = new String[]{'Email','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] UserName_type_info = new String[]{'UserName','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RoutingOrder_type_info = new String[]{'RoutingOrder','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] Sent_type_info = new String[]{'Sent','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Delivered_type_info = new String[]{'Delivered','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Signed_type_info = new String[]{'Signed','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Declined_type_info = new String[]{'Declined','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] DeclineReason_type_info = new String[]{'DeclineReason','http://www.docusign.net/API/3.0',null,'1','1','true'};
        private String[] AutoRespondedReason_type_info = new String[]{'AutoRespondedReason','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Status_type_info = new String[]{'Status','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] RecipientIPAddress_type_info = new String[]{'RecipientIPAddress','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ClientUserId_type_info = new String[]{'ClientUserId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AutoNavigation_type_info = new String[]{'AutoNavigation','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] IDCheckInformation_type_info = new String[]{'IDCheckInformation','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RecipientAuthenticationStatus_type_info = new String[]{'RecipientAuthenticationStatus','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CustomFields_type_info = new String[]{'CustomFields','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] TabStatuses_type_info = new String[]{'TabStatuses','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RecipientAttachment_type_info = new String[]{'RecipientAttachment','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AccountStatus_type_info = new String[]{'AccountStatus','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EsignAgreementInformation_type_info = new String[]{'EsignAgreementInformation','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] FormData_type_info = new String[]{'FormData','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RecipientId_type_info = new String[]{'RecipientId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] DeliveryMethod_type_info = new String[]{'DeliveryMethod','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] FaxNumber_type_info = new String[]{'FaxNumber','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'Type_x','Email','UserName','RoutingOrder','Sent','Delivered','Signed','Declined','DeclineReason','AutoRespondedReason','Status','RecipientIPAddress','ClientUserId','AutoNavigation','IDCheckInformation','RecipientAuthenticationStatus','CustomFields','TabStatuses','RecipientAttachment','AccountStatus','EsignAgreementInformation','FormData','RecipientId','DeliveryMethod','FaxNumber'};
    }
    public class RequestCertificateWithCertLanguageResponse_element {
        public DocuSignAPI.DocumentPDFs RequestCertificateWithCertLanguageResult;
        private String[] RequestCertificateWithCertLanguageResult_type_info = new String[]{'RequestCertificateWithCertLanguageResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RequestCertificateWithCertLanguageResult'};
    }
    public class CreateAccountBrandsResponse_element {
        public DocuSignAPI.BrandResults CreateAccountBrandsResult;
        private String[] CreateAccountBrandsResult_type_info = new String[]{'CreateAccountBrandsResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'CreateAccountBrandsResult'};
    }
    public class Ping_element {
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{};
    }
    public class RequestPDFWithCert_element {
        public String EnvelopeID;
        public Boolean AddWaterMark;
        private String[] EnvelopeID_type_info = new String[]{'EnvelopeID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AddWaterMark_type_info = new String[]{'AddWaterMark','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeID','AddWaterMark'};
    }
    public class FolderFilter {
        public String AccountId;
        public DocuSignAPI.UserInfo FolderOwner;
        public DocuSignAPI.FolderTypeInfo FolderTypeInfo;
        public Integer StartPosition;
        public DateTime FromDate;
        public DateTime ToDate;
        public String SearchText;
        public String Status;
        private String[] AccountId_type_info = new String[]{'AccountId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] FolderOwner_type_info = new String[]{'FolderOwner','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] FolderTypeInfo_type_info = new String[]{'FolderTypeInfo','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] StartPosition_type_info = new String[]{'StartPosition','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] FromDate_type_info = new String[]{'FromDate','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ToDate_type_info = new String[]{'ToDate','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] SearchText_type_info = new String[]{'SearchText','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Status_type_info = new String[]{'Status','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AccountId','FolderOwner','FolderTypeInfo','StartPosition','FromDate','ToDate','SearchText','Status'};
    }
    public class ArrayOfRecipient1 {
        public DocuSignAPI.Recipient[] Recipient;
        private String[] Recipient_type_info = new String[]{'Recipient','http://www.docusign.net/API/3.0',null,'0','-1','true'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'Recipient'};
    }
    public class FormData {
        public DocuSignAPI.FormDataXfdf xfdf;
        private String[] xfdf_type_info = new String[]{'xfdf','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'xfdf'};
    }
    public class DocuSignEnvelopeInformation {
        public DocuSignAPI.EnvelopeStatus EnvelopeStatus;
        public DocuSignAPI.ArrayOfDocumentPDF DocumentPDFs;
        public String TimeZone;
        public Integer TimeZoneOffset;
        private String[] EnvelopeStatus_type_info = new String[]{'EnvelopeStatus','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] DocumentPDFs_type_info = new String[]{'DocumentPDFs','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] TimeZone_type_info = new String[]{'TimeZone','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] TimeZoneOffset_type_info = new String[]{'TimeZoneOffset','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeStatus','DocumentPDFs','TimeZone','TimeZoneOffset'};
    }
    public class ArrayOfAddressBookRemoveItem {
        public DocuSignAPI.AddressBookRemoveItem[] AddressBookRemoveItem;
        private String[] AddressBookRemoveItem_type_info = new String[]{'AddressBookRemoveItem','http://www.docusign.net/API/3.0',null,'0','-1','true'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AddressBookRemoveItem'};
    }
    public class RequestCertificateWithCertLanguage_element {
        public String EnvelopeID;
        public String CertLanguage;
        private String[] EnvelopeID_type_info = new String[]{'EnvelopeID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CertLanguage_type_info = new String[]{'CertLanguage','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeID','CertLanguage'};
    }
    public class RequestCorrectToken_element {
        public String EnvelopeID;
        public Boolean SuppressNavigation;
        public String ReturnURL;
        private String[] EnvelopeID_type_info = new String[]{'EnvelopeID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] SuppressNavigation_type_info = new String[]{'SuppressNavigation','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] ReturnURL_type_info = new String[]{'ReturnURL','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeID','SuppressNavigation','ReturnURL'};
    }
    public class RequestCorrectTokenResponse_element {
        public String RequestCorrectTokenResult;
        private String[] RequestCorrectTokenResult_type_info = new String[]{'RequestCorrectTokenResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RequestCorrectTokenResult'};
    }
    public class TransferEnvelopeStatus {
        public Boolean TransferEnvelopeSuccess;
        private String[] TransferEnvelopeSuccess_type_info = new String[]{'TransferEnvelopeSuccess','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'TransferEnvelopeSuccess'};
    }
    public class PurgeDocumentsAndMetaData_element {
        public String EnvelopeID;
        private String[] EnvelopeID_type_info = new String[]{'EnvelopeID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeID'};
    }
    public class RequestStatusExResponse_element {
        public DocuSignAPI.EnvelopeStatus RequestStatusExResult;
        private String[] RequestStatusExResult_type_info = new String[]{'RequestStatusExResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RequestStatusExResult'};
    }
    public class DeleteCaptiveRecipientsSignaturesArg {
        public DocuSignAPI.ArrayOfCaptiveRecipient CaptiveRecipients;
        private String[] CaptiveRecipients_type_info = new String[]{'CaptiveRecipients','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'CaptiveRecipients'};
    }
    public class CreateEnvelopeFromTemplatesAndFormsResponse_element {
        public DocuSignAPI.EnvelopeStatus CreateEnvelopeFromTemplatesAndFormsResult;
        private String[] CreateEnvelopeFromTemplatesAndFormsResult_type_info = new String[]{'CreateEnvelopeFromTemplatesAndFormsResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'CreateEnvelopeFromTemplatesAndFormsResult'};
    }
    public class PublishConnectFailuresResponse_element {
        public DocuSignAPI.ArrayOfPublishConnectFailuresResult PublishConnectFailuresResult;
        private String[] PublishConnectFailuresResult_type_info = new String[]{'PublishConnectFailuresResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'PublishConnectFailuresResult'};
    }
    public class GetSharedAccessResponse_element {
        public DocuSignAPI.GetSharedAccessResult GetSharedAccessResult;
        private String[] GetSharedAccessResult_type_info = new String[]{'GetSharedAccessResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'GetSharedAccessResult'};
    }
    public class SendEnvelope_element {
        public String EnvelopeId;
        public String AccountId;
        private String[] EnvelopeId_type_info = new String[]{'EnvelopeId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AccountId_type_info = new String[]{'AccountId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeId','AccountId'};
    }
    public class SetSharedAccessResponse_element {
        public DocuSignAPI.SetSharedAccessResult SetSharedAccessResult;
        private String[] SetSharedAccessResult_type_info = new String[]{'SetSharedAccessResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'SetSharedAccessResult'};
    }
    public class InlineTemplate {
        public Integer Sequence;
        public DocuSignAPI.Envelope Envelope;
        private String[] Sequence_type_info = new String[]{'Sequence','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Envelope_type_info = new String[]{'Envelope','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'Sequence','Envelope'};
    }
    public class AddressInformationInput {
        public DocuSignAPI.AddressInformation AddressInformation;
        public String DisplayLevel;
        public Boolean ReceiveInResponse;
        private String[] AddressInformation_type_info = new String[]{'AddressInformation','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] DisplayLevel_type_info = new String[]{'DisplayLevel','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ReceiveInResponse_type_info = new String[]{'ReceiveInResponse','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AddressInformation','DisplayLevel','ReceiveInResponse'};
    }
    public class RequestPDFRecipientsViewResponse_element {
        public DocuSignAPI.EnvelopePDF RequestPDFRecipientsViewResult;
        private String[] RequestPDFRecipientsViewResult_type_info = new String[]{'RequestPDFRecipientsViewResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RequestPDFRecipientsViewResult'};
    }
    public class DocumentField {
        public String Name;
        public String Value;
        private String[] Name_type_info = new String[]{'Name','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Value_type_info = new String[]{'Value','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'Name','Value'};
    }
    public class PingResponse_element {
        public Boolean PingResult;
        private String[] PingResult_type_info = new String[]{'PingResult','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'PingResult'};
    }
    public class DeleteEnvelopesResponse_element {
        public Boolean DeleteEnvelopesResult;
        private String[] DeleteEnvelopesResult_type_info = new String[]{'DeleteEnvelopesResult','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'DeleteEnvelopesResult'};
    }
    public class UserInfo {
        public String UserName;
        public String Email;
        private String[] UserName_type_info = new String[]{'UserName','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Email_type_info = new String[]{'Email','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'UserName','Email'};
    }
    public class BrandResultItem {
        public String BrandId;
        public String BrandName;
        public String BrandCompany;
        public DocuSignAPI.ErrorDetails ErrorDetails;
        private String[] BrandId_type_info = new String[]{'BrandId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] BrandName_type_info = new String[]{'BrandName','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] BrandCompany_type_info = new String[]{'BrandCompany','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ErrorDetails_type_info = new String[]{'ErrorDetails','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'BrandId','BrandName','BrandCompany','ErrorDetails'};
    }
    public class Correction {
        public String EnvelopeID;
        public DocuSignAPI.EnvelopeSettings EnvelopeSettingsCorrection;
        public DocuSignAPI.ArrayOfRecipientCorrection RecipientCorrections;
        public DocuSignAPI.Reminders Reminders;
        public DocuSignAPI.Expirations Expirations;
        private String[] EnvelopeID_type_info = new String[]{'EnvelopeID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EnvelopeSettingsCorrection_type_info = new String[]{'EnvelopeSettingsCorrection','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RecipientCorrections_type_info = new String[]{'RecipientCorrections','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Reminders_type_info = new String[]{'Reminders','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Expirations_type_info = new String[]{'Expirations','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeID','EnvelopeSettingsCorrection','RecipientCorrections','Reminders','Expirations'};
    }
    public class RequestSenderToken_element {
        public String EnvelopeID;
        public String AccountID;
        public String ReturnURL;
        private String[] EnvelopeID_type_info = new String[]{'EnvelopeID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AccountID_type_info = new String[]{'AccountID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ReturnURL_type_info = new String[]{'ReturnURL','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeID','AccountID','ReturnURL'};
    }
    public class CreateAndSendEnvelopeResponse_element {
        public DocuSignAPI.EnvelopeStatus CreateAndSendEnvelopeResult;
        private String[] CreateAndSendEnvelopeResult_type_info = new String[]{'CreateAndSendEnvelopeResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'CreateAndSendEnvelopeResult'};
    }
    public class RequestRecipientTokenAuthenticationAssertion {
        public String AssertionID;
        public DateTime AuthenticationInstant;
        public String AuthenticationMethod;
        public String SecurityDomain;
        private String[] AssertionID_type_info = new String[]{'AssertionID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AuthenticationInstant_type_info = new String[]{'AuthenticationInstant','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] AuthenticationMethod_type_info = new String[]{'AuthenticationMethod','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] SecurityDomain_type_info = new String[]{'SecurityDomain','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AssertionID','AuthenticationInstant','AuthenticationMethod','SecurityDomain'};
    }
    public class GetConnectFailuresResponse_element {
        public DocuSignAPI.ArrayOfConnectFailure GetConnectFailuresResult;
        private String[] GetConnectFailuresResult_type_info = new String[]{'GetConnectFailuresResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'GetConnectFailuresResult'};
    }
    public class RequestStatusesEx_element {
        public DocuSignAPI.EnvelopeStatusFilter EnvelopeStatusFilter;
        private String[] EnvelopeStatusFilter_type_info = new String[]{'EnvelopeStatusFilter','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeStatusFilter'};
    }
    public class RequestStatusResponse_element {
        public DocuSignAPI.EnvelopeStatus RequestStatusResult;
        private String[] RequestStatusResult_type_info = new String[]{'RequestStatusResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RequestStatusResult'};
    }
    public class EnvelopeTemplates {
        public DocuSignAPI.EnvelopeTemplateDefinition[] EnvelopeTemplateDefinition;
        private String[] EnvelopeTemplateDefinition_type_info = new String[]{'EnvelopeTemplateDefinition','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeTemplateDefinition'};
    }
    public class RequestDocumentPDFsExResponse_element {
        public DocuSignAPI.DocumentPDFs RequestDocumentPDFsExResult;
        private String[] RequestDocumentPDFsExResult_type_info = new String[]{'RequestDocumentPDFsExResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RequestDocumentPDFsExResult'};
    }
    public class GetSharedAccessResult {
        public String AccountId;
        public Integer ResultSetSize;
        public Integer TotalSetSize;
        public Integer StartAtIndex;
        public Integer EndAtIndex;
        public DocuSignAPI.SharedAccessItemResult[] SharedItems;
        public DocuSignAPI.ErrorDetails ErrorDetails;
        private String[] AccountId_type_info = new String[]{'AccountId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ResultSetSize_type_info = new String[]{'ResultSetSize','http://www.docusign.net/API/3.0',null,'1','1','true'};
        private String[] TotalSetSize_type_info = new String[]{'TotalSetSize','http://www.docusign.net/API/3.0',null,'1','1','true'};
        private String[] StartAtIndex_type_info = new String[]{'StartAtIndex','http://www.docusign.net/API/3.0',null,'1','1','true'};
        private String[] EndAtIndex_type_info = new String[]{'EndAtIndex','http://www.docusign.net/API/3.0',null,'1','1','true'};
        private String[] SharedItems_type_info = new String[]{'SharedItems','http://www.docusign.net/API/3.0',null,'0','-1','true'};
        private String[] ErrorDetails_type_info = new String[]{'ErrorDetails','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AccountId','ResultSetSize','TotalSetSize','StartAtIndex','EndAtIndex','SharedItems','ErrorDetails'};
    }
    public class DeleteEnvelopesArg {
        public DocuSignAPI.ArrayOfString2 EnvelopeIds;
        public String AccountId;
        public DocuSignAPI.FolderTypeInfo FolderFrom;
        private String[] EnvelopeIds_type_info = new String[]{'EnvelopeIds','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AccountId_type_info = new String[]{'AccountId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] FolderFrom_type_info = new String[]{'FolderFrom','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeIds','AccountId','FolderFrom'};
    }
    public class RequestTemplates_element {
        public String AccountID;
        public Boolean IncludeAdvancedTemplates;
        private String[] AccountID_type_info = new String[]{'AccountID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] IncludeAdvancedTemplates_type_info = new String[]{'IncludeAdvancedTemplates','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AccountID','IncludeAdvancedTemplates'};
    }
    public class RequestEnvelopeV2Response_element {
        public DocuSignAPI.Envelope RequestEnvelopeV2Result;
        private String[] RequestEnvelopeV2Result_type_info = new String[]{'RequestEnvelopeV2Result','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RequestEnvelopeV2Result'};
    }
    public class TabStatus {
        public String TabType;
        public String Status;
        public Double XPosition;
        public Double YPosition;
        public DateTime Signed;
        public String TabLabel;
        public String TabName;
        public String TabValue;
        public Integer DocumentID;
        public Integer PageNumber;
        public String OriginalValue;
        public String ValidationPattern;
        public String RoleName;
        public String ListValues;
        public String ListSelectedValue;
        public Decimal ScaleValue;
        public String CustomTabType;
        private String[] TabType_type_info = new String[]{'TabType','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] Status_type_info = new String[]{'Status','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] XPosition_type_info = new String[]{'XPosition','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] YPosition_type_info = new String[]{'YPosition','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] Signed_type_info = new String[]{'Signed','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] TabLabel_type_info = new String[]{'TabLabel','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] TabName_type_info = new String[]{'TabName','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] TabValue_type_info = new String[]{'TabValue','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] DocumentID_type_info = new String[]{'DocumentID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] PageNumber_type_info = new String[]{'PageNumber','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] OriginalValue_type_info = new String[]{'OriginalValue','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ValidationPattern_type_info = new String[]{'ValidationPattern','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RoleName_type_info = new String[]{'RoleName','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ListValues_type_info = new String[]{'ListValues','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ListSelectedValue_type_info = new String[]{'ListSelectedValue','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ScaleValue_type_info = new String[]{'ScaleValue','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CustomTabType_type_info = new String[]{'CustomTabType','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'TabType','Status','XPosition','YPosition','Signed','TabLabel','TabName','TabValue','DocumentID','PageNumber','OriginalValue','ValidationPattern','RoleName','ListValues','ListSelectedValue','ScaleValue','CustomTabType'};
    }
    public class ArrayOfEnvelopeStatus {
        public DocuSignAPI.EnvelopeStatus[] EnvelopeStatus;
        private String[] EnvelopeStatus_type_info = new String[]{'EnvelopeStatus','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeStatus'};
    }
    public class ArrayOfRecipientEvent {
        public DocuSignAPI.RecipientEvent[] RecipientEvent;
        private String[] RecipientEvent_type_info = new String[]{'RecipientEvent','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RecipientEvent'};
    }
    public class RequestTemplateListWithDocumentFieldsResponse_element {
        public DocuSignAPI.ArrayOfEnvelopeTemplate RequestTemplateListWithDocumentFieldsResult;
        private String[] RequestTemplateListWithDocumentFieldsResult_type_info = new String[]{'RequestTemplateListWithDocumentFieldsResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RequestTemplateListWithDocumentFieldsResult'};
    }
    public class RequestEnvelopeWithDocumentFieldsV2_element {
        public String EnvelopeID;
        public DocuSignAPI.RequestEnvelopeWithDocumentFieldsV2Options Options;
        private String[] EnvelopeID_type_info = new String[]{'EnvelopeID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Options_type_info = new String[]{'Options','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeID','Options'};
    }
    public class EnvelopeV2 {
        public String TransactionID;
        public Boolean Asynchronous;
        public String AccountId;
        public DocuSignAPI.ArrayOfDocumentV2 DocumentsV2;
        public DocuSignAPI.ArrayOfRecipient Recipients;
        public DocuSignAPI.ArrayOfTab Tabs;
        public String Subject;
        public String EmailBlurb;
        public String SigningLocation;
        public DocuSignAPI.ArrayOfCustomField CustomFields;
        public DocuSignAPI.VaultingOptions VaultingOptions;
        public Boolean AutoNavigation;
        public Boolean EnvelopeIdStamping;
        public Boolean AuthoritativeCopy;
        public DocuSignAPI.Notification Notification;
        public DocuSignAPI.ArrayOfAttachment EnvelopeAttachment;
        public Boolean EnforceSignerVisibility;
        public Boolean EnableWetSign;
        public Boolean AllowMarkup;
        public DocuSignAPI.EventNotification EventNotification;
        public Boolean AllowReassign;
        public Boolean UsedResponsiveSigning;
        public String BrandId;
        public Boolean BrandLock;
        public String Accessibility;
        public Boolean MessageLock;
        public Boolean RecipientsLock;
        public Boolean UseDisclosure;
        public DocuSignAPI.EmailSettings EmailSettings;
        public Boolean AuthoritativeCopyDefault;
        private String[] TransactionID_type_info = new String[]{'TransactionID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Asynchronous_type_info = new String[]{'Asynchronous','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AccountId_type_info = new String[]{'AccountId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] DocumentsV2_type_info = new String[]{'DocumentsV2','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Recipients_type_info = new String[]{'Recipients','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Tabs_type_info = new String[]{'Tabs','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Subject_type_info = new String[]{'Subject','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EmailBlurb_type_info = new String[]{'EmailBlurb','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] SigningLocation_type_info = new String[]{'SigningLocation','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CustomFields_type_info = new String[]{'CustomFields','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] VaultingOptions_type_info = new String[]{'VaultingOptions','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AutoNavigation_type_info = new String[]{'AutoNavigation','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EnvelopeIdStamping_type_info = new String[]{'EnvelopeIdStamping','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AuthoritativeCopy_type_info = new String[]{'AuthoritativeCopy','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Notification_type_info = new String[]{'Notification','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EnvelopeAttachment_type_info = new String[]{'EnvelopeAttachment','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EnforceSignerVisibility_type_info = new String[]{'EnforceSignerVisibility','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EnableWetSign_type_info = new String[]{'EnableWetSign','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AllowMarkup_type_info = new String[]{'AllowMarkup','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EventNotification_type_info = new String[]{'EventNotification','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AllowReassign_type_info = new String[]{'AllowReassign','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] UsedResponsiveSigning_type_info = new String[]{'UsedResponsiveSigning','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] BrandId_type_info = new String[]{'BrandId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] BrandLock_type_info = new String[]{'BrandLock','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Accessibility_type_info = new String[]{'Accessibility','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] MessageLock_type_info = new String[]{'MessageLock','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RecipientsLock_type_info = new String[]{'RecipientsLock','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] UseDisclosure_type_info = new String[]{'UseDisclosure','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EmailSettings_type_info = new String[]{'EmailSettings','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AuthoritativeCopyDefault_type_info = new String[]{'AuthoritativeCopyDefault','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'TransactionID','Asynchronous','AccountId','DocumentsV2','Recipients','Tabs','Subject','EmailBlurb','SigningLocation','CustomFields','VaultingOptions','AutoNavigation','EnvelopeIdStamping','AuthoritativeCopy','Notification','EnvelopeAttachment','EnforceSignerVisibility','EnableWetSign','AllowMarkup','EventNotification','AllowReassign','UsedResponsiveSigning','BrandId','BrandLock','Accessibility','MessageLock','RecipientsLock','UseDisclosure','EmailSettings','AuthoritativeCopyDefault'};
    }
    public class AddressBookRemoveItem {
        public String AddressBookID;
        private String[] AddressBookID_type_info = new String[]{'AddressBookID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AddressBookID'};
    }
    public class RequestEnvelopeWithDocumentFieldsResponse_element {
        public DocuSignAPI.Envelope RequestEnvelopeWithDocumentFieldsResult;
        private String[] RequestEnvelopeWithDocumentFieldsResult_type_info = new String[]{'RequestEnvelopeWithDocumentFieldsResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RequestEnvelopeWithDocumentFieldsResult'};
    }
    public class RequestEnvelopeWithDocumentFieldsV2Options {
        public Boolean IncludeDocumentBytes;
        public Boolean IncludeSummary;
        public Boolean IncludeUsedResponsiveSigning;
        public String CertLanguage;
        public Boolean IncludeAnchorTabLocations;
        private String[] IncludeDocumentBytes_type_info = new String[]{'IncludeDocumentBytes','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] IncludeSummary_type_info = new String[]{'IncludeSummary','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] IncludeUsedResponsiveSigning_type_info = new String[]{'IncludeUsedResponsiveSigning','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CertLanguage_type_info = new String[]{'CertLanguage','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] IncludeAnchorTabLocations_type_info = new String[]{'IncludeAnchorTabLocations','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'IncludeDocumentBytes','IncludeSummary','IncludeUsedResponsiveSigning','CertLanguage','IncludeAnchorTabLocations'};
    }
    public class PurgeDocumentsAndMetaDataResponse_element {
        public DocuSignAPI.PurgeDocumentStatus PurgeDocumentsAndMetaDataResult;
        private String[] PurgeDocumentsAndMetaDataResult_type_info = new String[]{'PurgeDocumentsAndMetaDataResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'PurgeDocumentsAndMetaDataResult'};
    }
    public class UpdateAddressBookItemsResponse_element {
        public DocuSignAPI.UpdateAddressBookResult UpdateAddressBookItemsResult;
        private String[] UpdateAddressBookItemsResult_type_info = new String[]{'UpdateAddressBookItemsResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'UpdateAddressBookItemsResult'};
    }
    public class CompositeTemplate {
        public DocuSignAPI.ArrayOfServerTemplate ServerTemplates;
        public DocuSignAPI.ArrayOfInlineTemplate InlineTemplates;
        public DocuSignAPI.PDFMetaDataTemplate PDFMetaDataTemplate;
        public DocuSignAPI.Document Document;
        private String[] ServerTemplates_type_info = new String[]{'ServerTemplates','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] InlineTemplates_type_info = new String[]{'InlineTemplates','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] PDFMetaDataTemplate_type_info = new String[]{'PDFMetaDataTemplate','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Document_type_info = new String[]{'Document','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'ServerTemplates','InlineTemplates','PDFMetaDataTemplate','Document'};
    }
    public class GetRecipientEsignList_element {
        public String UserName;
        public String SenderEmail;
        public String SenderAccountId;
        public String RecipientEmail;
        private String[] UserName_type_info = new String[]{'UserName','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] SenderEmail_type_info = new String[]{'SenderEmail','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] SenderAccountId_type_info = new String[]{'SenderAccountId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RecipientEmail_type_info = new String[]{'RecipientEmail','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'UserName','SenderEmail','SenderAccountId','RecipientEmail'};
    }
    public class RequestDocumentPDFsEx_element {
        public String EnvelopeID;
        private String[] EnvelopeID_type_info = new String[]{'EnvelopeID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeID'};
    }
    public class AccountSetting {
        public String Name;
        public String Value;
        public String Type_x;
        public String TestSetting;
        private String[] Name_type_info = new String[]{'Name','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Value_type_info = new String[]{'Value','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Type_x_type_info = new String[]{'Type','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] TestSetting_type_info = new String[]{'TestSetting','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'Name','Value','Type_x','TestSetting'};
    }
    public class PDFMetaDataTemplate {
        public Integer Sequence;
        private String[] Sequence_type_info = new String[]{'Sequence','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'Sequence'};
    }
    public class ArrayOfDocumentV2 {
        public DocuSignAPI.DocumentV2[] DocumentV2;
        private String[] DocumentV2_type_info = new String[]{'DocumentV2','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'DocumentV2'};
    }
    public class RequestRecipientFaxPDF_element {
        public String EnvelopeID;
        public String ClientUserID;
        public String Username;
        public String Email;
        public DocuSignAPI.RequestRecipientTokenAuthenticationAssertion AuthenticationAssertion;
        private String[] EnvelopeID_type_info = new String[]{'EnvelopeID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ClientUserID_type_info = new String[]{'ClientUserID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Username_type_info = new String[]{'Username','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Email_type_info = new String[]{'Email','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AuthenticationAssertion_type_info = new String[]{'AuthenticationAssertion','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeID','ClientUserID','Username','Email','AuthenticationAssertion'};
    }
    public class ArrayOfInlineTemplate {
        public DocuSignAPI.InlineTemplate[] InlineTemplate;
        private String[] InlineTemplate_type_info = new String[]{'InlineTemplate','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'InlineTemplate'};
    }
    public class ArrayOfString {
        public String[] SenderProvidedNumber;
        private String[] SenderProvidedNumber_type_info = new String[]{'SenderProvidedNumber','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'SenderProvidedNumber'};
    }
    public class CollapsibleSettings {
        public String LabelStyle;
        public String ArrowStyle;
        public String ArrowClosed;
        public String ArrowOpen;
        public String ArrowLocation;
        public String ArrowColor;
        public String ArrowSize;
        public String ContainerStyle;
        public Boolean OnlyArrowIsClickable;
        public String OuterLabelAndArrowStyle;
        private String[] LabelStyle_type_info = new String[]{'LabelStyle','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ArrowStyle_type_info = new String[]{'ArrowStyle','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ArrowClosed_type_info = new String[]{'ArrowClosed','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ArrowOpen_type_info = new String[]{'ArrowOpen','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ArrowLocation_type_info = new String[]{'ArrowLocation','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ArrowColor_type_info = new String[]{'ArrowColor','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ArrowSize_type_info = new String[]{'ArrowSize','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ContainerStyle_type_info = new String[]{'ContainerStyle','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] OnlyArrowIsClickable_type_info = new String[]{'OnlyArrowIsClickable','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] OuterLabelAndArrowStyle_type_info = new String[]{'OuterLabelAndArrowStyle','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'LabelStyle','ArrowStyle','ArrowClosed','ArrowOpen','ArrowLocation','ArrowColor','ArrowSize','ContainerStyle','OnlyArrowIsClickable','OuterLabelAndArrowStyle'};
    }
    public class SignatureProviderOptions {
        public String Sms;
        public String OneTimePassword;
        public String CPFNumber;
        public String SignerRole;
        private String[] Sms_type_info = new String[]{'Sms','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] OneTimePassword_type_info = new String[]{'OneTimePassword','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CPFNumber_type_info = new String[]{'CPFNumber','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] SignerRole_type_info = new String[]{'SignerRole','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'Sms','OneTimePassword','CPFNumber','SignerRole'};
    }
    public class VaultingOptions {
        public String VaultingMode;
        public String EODTransactionName;
        public String EODDocumentName;
        public String EODDocumentDescription;
        private String[] VaultingMode_type_info = new String[]{'VaultingMode','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] EODTransactionName_type_info = new String[]{'EODTransactionName','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EODDocumentName_type_info = new String[]{'EODDocumentName','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EODDocumentDescription_type_info = new String[]{'EODDocumentDescription','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'VaultingMode','EODTransactionName','EODDocumentName','EODDocumentDescription'};
    }
    public class RequestPDFsWithOptionsResponse_element {
        public DocuSignAPI.DocumentPDFs RequestPDFsWithOptionsResult;
        private String[] RequestPDFsWithOptionsResult_type_info = new String[]{'RequestPDFsWithOptionsResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RequestPDFsWithOptionsResult'};
    }
    public class RequestRecipientTokenClientURLs {
        public String OnSigningComplete;
        public String OnViewingComplete;
        public String OnCancel;
        public String OnDecline;
        public String OnSessionTimeout;
        public String OnTTLExpired;
        public String OnException;
        public String OnAccessCodeFailed;
        public String OnIdCheckFailed;
        public String OnFaxPending;
        public Boolean GenerateSignedDocumentAsynch;
        private String[] OnSigningComplete_type_info = new String[]{'OnSigningComplete','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] OnViewingComplete_type_info = new String[]{'OnViewingComplete','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] OnCancel_type_info = new String[]{'OnCancel','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] OnDecline_type_info = new String[]{'OnDecline','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] OnSessionTimeout_type_info = new String[]{'OnSessionTimeout','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] OnTTLExpired_type_info = new String[]{'OnTTLExpired','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] OnException_type_info = new String[]{'OnException','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] OnAccessCodeFailed_type_info = new String[]{'OnAccessCodeFailed','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] OnIdCheckFailed_type_info = new String[]{'OnIdCheckFailed','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] OnFaxPending_type_info = new String[]{'OnFaxPending','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] GenerateSignedDocumentAsynch_type_info = new String[]{'GenerateSignedDocumentAsynch','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'OnSigningComplete','OnViewingComplete','OnCancel','OnDecline','OnSessionTimeout','OnTTLExpired','OnException','OnAccessCodeFailed','OnIdCheckFailed','OnFaxPending','GenerateSignedDocumentAsynch'};
    }
    public class SharedItemRequest {
        public DocuSignAPI.SharedUserInfoRequest User_x;
        public String Shared;
        public String ItemType;
        private String[] User_x_type_info = new String[]{'User','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Shared_type_info = new String[]{'Shared','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] ItemType_type_info = new String[]{'ItemType','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'User_x','Shared','ItemType'};
    }
    public class GetAccountSettingsListResponse_element {
        public DocuSignAPI.AccountSettingsList GetAccountSettingsListResult;
        private String[] GetAccountSettingsListResult_type_info = new String[]{'GetAccountSettingsListResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'GetAccountSettingsListResult'};
    }
    public class SSN4InformationInput {
        public DocuSignAPI.SSN4Information SSN4Information;
        public String DisplayLevel;
        public Boolean ReceiveInResponse;
        private String[] SSN4Information_type_info = new String[]{'SSN4Information','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] DisplayLevel_type_info = new String[]{'DisplayLevel','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ReceiveInResponse_type_info = new String[]{'ReceiveInResponse','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'SSN4Information','DisplayLevel','ReceiveInResponse'};
    }
    public class ExportAuthoritativeCopyResponse_element {
        public DocuSignAPI.AuthoritativeCopyExportDocuments ExportAuthoritativeCopyResult;
        private String[] ExportAuthoritativeCopyResult_type_info = new String[]{'ExportAuthoritativeCopyResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'ExportAuthoritativeCopyResult'};
    }
    public class FolderTypeInfo {
        public String FolderType;
        public String FolderName;
        public String FolderPath;
        public String FolderId;
        private String[] FolderType_type_info = new String[]{'FolderType','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] FolderName_type_info = new String[]{'FolderName','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] FolderPath_type_info = new String[]{'FolderPath','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] FolderId_type_info = new String[]{'FolderId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'FolderType','FolderName','FolderPath','FolderId'};
    }
    public class ConnectFailure {
        public String EnvelopeId;
        public String AccountId;
        public DateTime Failed;
        public DateTime Retried;
        public Integer RetryCount;
        public String EnvelopeStatus;
        public String Sender;
        public String Email;
        public String Subject;
        public String Error;
        public String ConfigId;
        public String ConfigUrl;
        private String[] EnvelopeId_type_info = new String[]{'EnvelopeId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AccountId_type_info = new String[]{'AccountId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Failed_type_info = new String[]{'Failed','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] Retried_type_info = new String[]{'Retried','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RetryCount_type_info = new String[]{'RetryCount','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] EnvelopeStatus_type_info = new String[]{'EnvelopeStatus','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] Sender_type_info = new String[]{'Sender','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Email_type_info = new String[]{'Email','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Subject_type_info = new String[]{'Subject','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Error_type_info = new String[]{'Error','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ConfigId_type_info = new String[]{'ConfigId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ConfigUrl_type_info = new String[]{'ConfigUrl','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeId','AccountId','Failed','Retried','RetryCount','EnvelopeStatus','Sender','Email','Subject','Error','ConfigId','ConfigUrl'};
    }
    public class ArrayOfDisplayAnchor {
        public DocuSignAPI.DisplayAnchor[] DisplayAnchor;
        private String[] DisplayAnchor_type_info = new String[]{'DisplayAnchor','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'DisplayAnchor'};
    }
    public class ArrayOfBCCEmailAddress {
        public DocuSignAPI.BCCEmailAddress[] BCCEmailAddress;
        private String[] BCCEmailAddress_type_info = new String[]{'BCCEmailAddress','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'BCCEmailAddress'};
    }
    public class ArrayOfSAMLAttribute {
        public DocuSignAPI.SAMLAttribute[] SAMLAttribute;
        private String[] SAMLAttribute_type_info = new String[]{'SAMLAttribute','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'SAMLAttribute'};
    }
    public class ArrayOfRecipientSignatureProvider {
        public DocuSignAPI.RecipientSignatureProvider[] RecipientSignatureProvider;
        private String[] RecipientSignatureProvider_type_info = new String[]{'RecipientSignatureProvider','http://www.docusign.net/API/3.0',null,'0','-1','true'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RecipientSignatureProvider'};
    }
    public class RecipientEvent {
        public String RecipientEventStatusCode;
        public Boolean IncludeDocuments;
        private String[] RecipientEventStatusCode_type_info = new String[]{'RecipientEventStatusCode','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] IncludeDocuments_type_info = new String[]{'IncludeDocuments','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RecipientEventStatusCode','IncludeDocuments'};
    }
    public class ArrayOfCaptiveRecipient {
        public DocuSignAPI.CaptiveRecipient[] CaptiveRecipient;
        private String[] CaptiveRecipient_type_info = new String[]{'CaptiveRecipient','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'CaptiveRecipient'};
    }
    public class RequestEnvelopeWithDocumentFieldsV2Response_element {
        public DocuSignAPI.EnvelopeV2 RequestEnvelopeWithDocumentFieldsV2Result;
        private String[] RequestEnvelopeWithDocumentFieldsV2Result_type_info = new String[]{'RequestEnvelopeWithDocumentFieldsV2Result','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RequestEnvelopeWithDocumentFieldsV2Result'};
    }
    public class RequestTemplateWithDocumentFieldsResponse_element {
        public DocuSignAPI.EnvelopeTemplate RequestTemplateWithDocumentFieldsResult;
        private String[] RequestTemplateWithDocumentFieldsResult_type_info = new String[]{'RequestTemplateWithDocumentFieldsResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RequestTemplateWithDocumentFieldsResult'};
    }
    public class GetRecipientEsignListResponse_element {
        public DocuSignAPI.RecipientEsignList GetRecipientEsignListResult;
        private String[] GetRecipientEsignListResult_type_info = new String[]{'GetRecipientEsignListResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'GetRecipientEsignListResult'};
    }
    public class RecipientSignatureProvider {
        public String SignatureProviderName;
        public DocuSignAPI.SignatureProviderOptions SignatureProviderOptions;
        private String[] SignatureProviderName_type_info = new String[]{'SignatureProviderName','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] SignatureProviderOptions_type_info = new String[]{'SignatureProviderOptions','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'SignatureProviderName','SignatureProviderOptions'};
    }
    public class PurgeDocumentsAndMetaDataAndRedact_element {
        public String EnvelopeID;
        private String[] EnvelopeID_type_info = new String[]{'EnvelopeID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeID'};
    }
    public class GetAddressBookItemsResponse_element {
        public DocuSignAPI.ArrayOfAddressBookItem GetAddressBookItemsResult;
        private String[] GetAddressBookItemsResult_type_info = new String[]{'GetAddressBookItemsResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'GetAddressBookItemsResult'};
    }
    public class CreateEnvelope_element {
        public DocuSignAPI.Envelope Envelope;
        private String[] Envelope_type_info = new String[]{'Envelope','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'Envelope'};
    }
    public class Reminders {
        public Boolean ReminderEnabled;
        public Integer ReminderDelay;
        public Integer ReminderFrequency;
        private String[] ReminderEnabled_type_info = new String[]{'ReminderEnabled','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] ReminderDelay_type_info = new String[]{'ReminderDelay','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ReminderFrequency_type_info = new String[]{'ReminderFrequency','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'ReminderEnabled','ReminderDelay','ReminderFrequency'};
    }
    public class AcknowledgeAuthoritativeCopyExportResponse_element {
        public DocuSignAPI.AuthoritativeCopyExportStatus AcknowledgeAuthoritativeCopyExportResult;
        private String[] AcknowledgeAuthoritativeCopyExportResult_type_info = new String[]{'AcknowledgeAuthoritativeCopyExportResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AcknowledgeAuthoritativeCopyExportResult'};
    }
    public class GetAuthenticationToken_element {
        public String GoToEnvelopeID;
        private String[] GoToEnvelopeID_type_info = new String[]{'GoToEnvelopeID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'GoToEnvelopeID'};
    }
    public class RequestEnvelope_element {
        public String EnvelopeID;
        public Boolean IncludeDocumentBytes;
        private String[] EnvelopeID_type_info = new String[]{'EnvelopeID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] IncludeDocumentBytes_type_info = new String[]{'IncludeDocumentBytes','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeID','IncludeDocumentBytes'};
    }
    public class BrandDeleteRequest {
        public DocuSignAPI.ArrayOfBrandRequestItem BrandRequestItems;
        private String[] BrandRequestItems_type_info = new String[]{'BrandRequestItems','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'BrandRequestItems'};
    }
    public class ExportAuthoritativeCopy_element {
        public String EnvelopeId;
        private String[] EnvelopeId_type_info = new String[]{'EnvelopeId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeId'};
    }
    public class ArrayOfCustomField {
        public DocuSignAPI.CustomField[] CustomField;
        private String[] CustomField_type_info = new String[]{'CustomField','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'CustomField'};
    }
    public class RequestPDFWithOptionsResponse_element {
        public DocuSignAPI.EnvelopePDF RequestPDFWithOptionsResult;
        private String[] RequestPDFWithOptionsResult_type_info = new String[]{'RequestPDFWithOptionsResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RequestPDFWithOptionsResult'};
    }
    public class RequestStatusChanges_element {
        public DocuSignAPI.EnvelopeStatusChangeFilter EnvelopeStatusChangeFilter;
        private String[] EnvelopeStatusChangeFilter_type_info = new String[]{'EnvelopeStatusChangeFilter','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeStatusChangeFilter'};
    }
    public class ArrayOfEnvelopeStatusCode {
        public String[] Status;
        private String[] Status_type_info = new String[]{'Status','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'Status'};
    }
    public class DocumentV2 {
        public String DocumentType;
        private String[] DocumentType_type_info = new String[]{'DocumentType','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'DocumentType'};
    }
    public class ArrayOfBrandResultItem {
        public DocuSignAPI.BrandResultItem[] BrandResultItem;
        private String[] BrandResultItem_type_info = new String[]{'BrandResultItem','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'BrandResultItem'};
    }
    public class EnvelopeSettings {
        public Boolean AutoNavigation;
        public Boolean EnvelopeIdStamping;
        private String[] AutoNavigation_type_info = new String[]{'AutoNavigation','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EnvelopeIdStamping_type_info = new String[]{'EnvelopeIdStamping','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AutoNavigation','EnvelopeIdStamping'};
    }
    public class SaveTemplateResult {
        public Boolean Success;
        public String TemplateID;
        public String Name;
        private String[] Success_type_info = new String[]{'Success','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] TemplateID_type_info = new String[]{'TemplateID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Name_type_info = new String[]{'Name','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'Success','TemplateID','Name'};
    }
    public class UpdateAddressBookItems_element {
        public DocuSignAPI.ArrayOfAddressBookItem AddressBookItems;
        public Boolean ReturnAddressBook;
        private String[] AddressBookItems_type_info = new String[]{'AddressBookItems','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ReturnAddressBook_type_info = new String[]{'ReturnAddressBook','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AddressBookItems','ReturnAddressBook'};
    }
    public class FilteredEnvelopeStatuses {
        public Integer ResultSetSize;
        public DocuSignAPI.EnvelopeStatusFilter EnvelopeStatusFilter;
        public DocuSignAPI.ArrayOfEnvelopeStatus EnvelopeStatuses;
        private String[] ResultSetSize_type_info = new String[]{'ResultSetSize','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] EnvelopeStatusFilter_type_info = new String[]{'EnvelopeStatusFilter','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EnvelopeStatuses_type_info = new String[]{'EnvelopeStatuses','http://www.docusign.net/API/3.0',null,'1','1','true'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'ResultSetSize','EnvelopeStatusFilter','EnvelopeStatuses'};
    }
    public class ArrayOfFormDataXfdfField {
        public DocuSignAPI.FormDataXfdfField[] field;
        private String[] field_type_info = new String[]{'field','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'field'};
    }
    public class RequestDocumentPDFs_element {
        public String EnvelopeID;
        private String[] EnvelopeID_type_info = new String[]{'EnvelopeID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeID'};
    }
    public class DeleteCaptiveRecipientsSignatures_element {
        public String AccountId;
        public DocuSignAPI.DeleteCaptiveRecipientsSignaturesArg Arg;
        private String[] AccountId_type_info = new String[]{'AccountId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Arg_type_info = new String[]{'Arg','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AccountId','Arg'};
    }
    public class RecipientPhoneAuthentication {
        public Boolean RecipMayProvideNumber;
        public Boolean ValidateRecipProvidedNumber;
        public Boolean RecordVoicePrint;
        public DocuSignAPI.ArrayOfString SenderProvidedNumbers;
        private String[] RecipMayProvideNumber_type_info = new String[]{'RecipMayProvideNumber','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ValidateRecipProvidedNumber_type_info = new String[]{'ValidateRecipProvidedNumber','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RecordVoicePrint_type_info = new String[]{'RecordVoicePrint','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] SenderProvidedNumbers_type_info = new String[]{'SenderProvidedNumbers','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RecipMayProvideNumber','ValidateRecipProvidedNumber','RecordVoicePrint','SenderProvidedNumbers'};
    }
    public class TemplateReferenceFieldDataDataValue {
        public String TabLabel;
        public String Value;
        private String[] TabLabel_type_info = new String[]{'TabLabel','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Value_type_info = new String[]{'Value','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'TabLabel','Value'};
    }
    public class SharedAccessItemResult {
        public DocuSignAPI.SharedUserInfoResult User_x;
        public DocuSignAPI.SharedItemResult[] SharedItem;
        public DocuSignAPI.ErrorDetails ErrorDetails;
        private String[] User_x_type_info = new String[]{'User','http://www.docusign.net/API/3.0',null,'1','1','true'};
        private String[] SharedItem_type_info = new String[]{'SharedItem','http://www.docusign.net/API/3.0',null,'0','-1','true'};
        private String[] ErrorDetails_type_info = new String[]{'ErrorDetails','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'User_x','SharedItem','ErrorDetails'};
    }
    public class SaveTemplate_element {
        public DocuSignAPI.EnvelopeTemplate EnvelopeTemplate;
        private String[] EnvelopeTemplate_type_info = new String[]{'EnvelopeTemplate','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeTemplate'};
    }
    public class RequestRecipientFaxToken_element {
        public String EnvelopeID;
        public String ClientUserID;
        public String Username;
        public String Email;
        public DocuSignAPI.RequestRecipientTokenAuthenticationAssertion AuthenticationAssertion;
        public DocuSignAPI.RequestRecipientTokenClientURLs ClientURLs;
        private String[] EnvelopeID_type_info = new String[]{'EnvelopeID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ClientUserID_type_info = new String[]{'ClientUserID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Username_type_info = new String[]{'Username','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Email_type_info = new String[]{'Email','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AuthenticationAssertion_type_info = new String[]{'AuthenticationAssertion','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ClientURLs_type_info = new String[]{'ClientURLs','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeID','ClientUserID','Username','Email','AuthenticationAssertion','ClientURLs'};
    }
    public class RecipientEmailNotification {
        public String Subject;
        public String EmailBlurb;
        public String Language;
        private String[] Subject_type_info = new String[]{'Subject','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EmailBlurb_type_info = new String[]{'EmailBlurb','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Language_type_info = new String[]{'Language','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'Subject','EmailBlurb','Language'};
    }
    public class ArrayOfRecipient {
        public DocuSignAPI.Recipient[] Recipient;
        private String[] Recipient_type_info = new String[]{'Recipient','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'Recipient'};
    }
    public class CreateEnvelopeFromTemplatesAndForms_element {
        public DocuSignAPI.EnvelopeInformation EnvelopeInformation;
        public DocuSignAPI.ArrayOfCompositeTemplate CompositeTemplates;
        public Boolean ActivateEnvelope;
        private String[] EnvelopeInformation_type_info = new String[]{'EnvelopeInformation','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CompositeTemplates_type_info = new String[]{'CompositeTemplates','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ActivateEnvelope_type_info = new String[]{'ActivateEnvelope','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeInformation','CompositeTemplates','ActivateEnvelope'};
    }
    public class GetAddressBookItems_element {
        public String AccountID;
        private String[] AccountID_type_info = new String[]{'AccountID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AccountID'};
    }
    public class TransferEnvelope_element {
        public String EnvelopeID;
        public String AccountID;
        public String UserID;
        private String[] EnvelopeID_type_info = new String[]{'EnvelopeID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AccountID_type_info = new String[]{'AccountID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] UserID_type_info = new String[]{'UserID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeID','AccountID','UserID'};
    }
    public class DisplayAnchor {
        public String StartAnchor;
        public String EndAnchor;
        public Boolean RemoveStartAnchor;
        public Boolean RemoveEndAnchor;
        public Boolean CaseSensitive;
        public DocuSignAPI.DisplaySettings DisplaySettings;
        private String[] StartAnchor_type_info = new String[]{'StartAnchor','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EndAnchor_type_info = new String[]{'EndAnchor','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RemoveStartAnchor_type_info = new String[]{'RemoveStartAnchor','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RemoveEndAnchor_type_info = new String[]{'RemoveEndAnchor','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CaseSensitive_type_info = new String[]{'CaseSensitive','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] DisplaySettings_type_info = new String[]{'DisplaySettings','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'StartAnchor','EndAnchor','RemoveStartAnchor','RemoveEndAnchor','CaseSensitive','DisplaySettings'};
    }
    public class GetAccountMembershipFeaturesList_element {
        public String AccountId;
        private String[] AccountId_type_info = new String[]{'AccountId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AccountId'};
    }
    public class PublishConnectFailuresResult {
        public String EnvelopeId;
        public String ConfigId;
        public String ConfigUrl;
        public String Status;
        public String StatusMessage;
        private String[] EnvelopeId_type_info = new String[]{'EnvelopeId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ConfigId_type_info = new String[]{'ConfigId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ConfigUrl_type_info = new String[]{'ConfigUrl','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Status_type_info = new String[]{'Status','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] StatusMessage_type_info = new String[]{'StatusMessage','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeId','ConfigId','ConfigUrl','Status','StatusMessage'};
    }
    public class EmailSettings {
        public String ReplyEmailAddressOverride;
        public String ReplyEmailNameOverride;
        public DocuSignAPI.ArrayOfBCCEmailAddress BCCEmailAddresses;
        private String[] ReplyEmailAddressOverride_type_info = new String[]{'ReplyEmailAddressOverride','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ReplyEmailNameOverride_type_info = new String[]{'ReplyEmailNameOverride','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] BCCEmailAddresses_type_info = new String[]{'BCCEmailAddresses','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'ReplyEmailAddressOverride','ReplyEmailNameOverride','BCCEmailAddresses'};
    }
    public class Folder {
        public DocuSignAPI.UserInfo FolderOwner;
        public DocuSignAPI.FolderTypeInfo FolderTypeInfo;
        private String[] FolderOwner_type_info = new String[]{'FolderOwner','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] FolderTypeInfo_type_info = new String[]{'FolderTypeInfo','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'FolderOwner','FolderTypeInfo'};
    }
    public class EnvelopeStatusChange {
        public String EnvelopeID;
        public String Status;
        public DateTime StatusChanged;
        private String[] EnvelopeID_type_info = new String[]{'EnvelopeID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Status_type_info = new String[]{'Status','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] StatusChanged_type_info = new String[]{'StatusChanged','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeID','Status','StatusChanged'};
    }
    public class DeleteCaptiveRecipientsSignaturesResponse_element {
        public DocuSignAPI.CaptiveRecipientResults DeleteCaptiveRecipientsSignaturesResult;
        private String[] DeleteCaptiveRecipientsSignaturesResult_type_info = new String[]{'DeleteCaptiveRecipientsSignaturesResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'DeleteCaptiveRecipientsSignaturesResult'};
    }
    public class SetSharedAccess_element {
        public DocuSignAPI.SetSharedAccessRequest SetSharedAccessRequest;
        private String[] SetSharedAccessRequest_type_info = new String[]{'SetSharedAccessRequest','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'SetSharedAccessRequest'};
    }
    public class RequestStatusWithDocumentFieldsResponse_element {
        public DocuSignAPI.EnvelopeStatus RequestStatusWithDocumentFieldsResult;
        private String[] RequestStatusWithDocumentFieldsResult_type_info = new String[]{'RequestStatusWithDocumentFieldsResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RequestStatusWithDocumentFieldsResult'};
    }
    public class GetAccountSettingsList_element {
        public String AccountId;
        private String[] AccountId_type_info = new String[]{'AccountId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AccountId'};
    }
    public class ServerTemplate {
        public Integer Sequence;
        public String TemplateID;
        public Integer TabSizingVersion;
        private String[] Sequence_type_info = new String[]{'Sequence','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] TemplateID_type_info = new String[]{'TemplateID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] TabSizingVersion_type_info = new String[]{'TabSizingVersion','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'Sequence','TemplateID','TabSizingVersion'};
    }
    public class RequestRecipientTokenResponse_element {
        public String RequestRecipientTokenResult;
        private String[] RequestRecipientTokenResult_type_info = new String[]{'RequestRecipientTokenResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RequestRecipientTokenResult'};
    }
    public class UpdateAddressBookResult {
        public Boolean Success;
        public DocuSignAPI.ArrayOfAddressBookItem1 AddressBookItems;
        private String[] Success_type_info = new String[]{'Success','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] AddressBookItems_type_info = new String[]{'AddressBookItems','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'Success','AddressBookItems'};
    }
    public class RequestPDFWithOptions_element {
        public String EnvelopeID;
        public DocuSignAPI.PDFOptions PDFOptions;
        private String[] EnvelopeID_type_info = new String[]{'EnvelopeID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] PDFOptions_type_info = new String[]{'PDFOptions','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeID','PDFOptions'};
    }
    public class RequestPDFWithCertResponse_element {
        public DocuSignAPI.EnvelopePDF RequestPDFWithCertResult;
        private String[] RequestPDFWithCertResult_type_info = new String[]{'RequestPDFWithCertResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RequestPDFWithCertResult'};
    }
    public class IDCheckInformationInput {
        public DocuSignAPI.AddressInformationInput AddressInformationInput;
        public DocuSignAPI.DOBInformationInput DOBInformationInput;
        public DocuSignAPI.SSN4InformationInput SSN4InformationInput;
        public DocuSignAPI.SSN9InformationInput SSN9InformationInput;
        private String[] AddressInformationInput_type_info = new String[]{'AddressInformationInput','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] DOBInformationInput_type_info = new String[]{'DOBInformationInput','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] SSN4InformationInput_type_info = new String[]{'SSN4InformationInput','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] SSN9InformationInput_type_info = new String[]{'SSN9InformationInput','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AddressInformationInput','DOBInformationInput','SSN4InformationInput','SSN9InformationInput'};
    }
    public class SetSharedAccessRequest {
        public String AccountId;
        public DocuSignAPI.SharedItems[] SharedItems;
        private String[] AccountId_type_info = new String[]{'AccountId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] SharedItems_type_info = new String[]{'SharedItems','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AccountId','SharedItems'};
    }
    public class CompleteAuthoritativeCopyExportResponse_element {
        public DocuSignAPI.AuthoritativeCopyExportStatus CompleteAuthoritativeCopyExportResult;
        private String[] CompleteAuthoritativeCopyExportResult_type_info = new String[]{'CompleteAuthoritativeCopyExportResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'CompleteAuthoritativeCopyExportResult'};
    }
    public class SetSharedAccessResult {
        public String AccountId;
        public DocuSignAPI.SharedAccessItemResult[] SharedItems;
        private String[] AccountId_type_info = new String[]{'AccountId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] SharedItems_type_info = new String[]{'SharedItems','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AccountId','SharedItems'};
    }
    public class RequestStatusesExResponse_element {
        public DocuSignAPI.FilteredEnvelopeStatuses RequestStatusesExResult;
        private String[] RequestStatusesExResult_type_info = new String[]{'RequestStatusesExResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RequestStatusesExResult'};
    }
    public class EnvelopeStatusChangeFilter {
        public String AccountId;
        public DocuSignAPI.UserInfo UserInfo;
        public DateTime StatusChangedSince;
        public DocuSignAPI.ArrayOfEnvelopeStatusCode Statuses;
        private String[] AccountId_type_info = new String[]{'AccountId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] UserInfo_type_info = new String[]{'UserInfo','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] StatusChangedSince_type_info = new String[]{'StatusChangedSince','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] Statuses_type_info = new String[]{'Statuses','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AccountId','UserInfo','StatusChangedSince','Statuses'};
    }
    public class EnvelopeStatus {
        public DocuSignAPI.ArrayOfRecipientStatus RecipientStatuses;
        public DateTime TimeGenerated;
        public String EnvelopeID;
        public String Subject;
        public String UserName;
        public String Email;
        public String Status;
        public DateTime Created;
        public DateTime Deleted;
        public DateTime Sent;
        public DateTime Delivered;
        public DateTime Signed;
        public DateTime Completed;
        public DateTime Declined;
        public DateTime TimedOut;
        public String ACStatus;
        public DateTime ACStatusDate;
        public String ACHolder;
        public String ACHolderEmail;
        public String ACHolderLocation;
        public String SigningLocation;
        public String SenderIPAddress;
        public String EnvelopePDFHash;
        public DocuSignAPI.ArrayOfCustomField CustomFields;
        public DocuSignAPI.VaultingDetails VaultingDetails;
        public Boolean AutoNavigation;
        public Boolean EnvelopeIdStamping;
        public Boolean AuthoritativeCopy;
        public DocuSignAPI.ArrayOfAttachment EnvelopeAttachment;
        public DocuSignAPI.ArrayOfDocumentStatus DocumentStatuses;
        public DocuSignAPI.FormData FormData;
        public String VoidReason;
        private String[] RecipientStatuses_type_info = new String[]{'RecipientStatuses','http://www.docusign.net/API/3.0',null,'1','1','true'};
        private String[] TimeGenerated_type_info = new String[]{'TimeGenerated','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] EnvelopeID_type_info = new String[]{'EnvelopeID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Subject_type_info = new String[]{'Subject','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] UserName_type_info = new String[]{'UserName','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Email_type_info = new String[]{'Email','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Status_type_info = new String[]{'Status','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] Created_type_info = new String[]{'Created','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] Deleted_type_info = new String[]{'Deleted','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Sent_type_info = new String[]{'Sent','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Delivered_type_info = new String[]{'Delivered','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Signed_type_info = new String[]{'Signed','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Completed_type_info = new String[]{'Completed','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Declined_type_info = new String[]{'Declined','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] TimedOut_type_info = new String[]{'TimedOut','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ACStatus_type_info = new String[]{'ACStatus','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ACStatusDate_type_info = new String[]{'ACStatusDate','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] ACHolder_type_info = new String[]{'ACHolder','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ACHolderEmail_type_info = new String[]{'ACHolderEmail','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ACHolderLocation_type_info = new String[]{'ACHolderLocation','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] SigningLocation_type_info = new String[]{'SigningLocation','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] SenderIPAddress_type_info = new String[]{'SenderIPAddress','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EnvelopePDFHash_type_info = new String[]{'EnvelopePDFHash','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CustomFields_type_info = new String[]{'CustomFields','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] VaultingDetails_type_info = new String[]{'VaultingDetails','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AutoNavigation_type_info = new String[]{'AutoNavigation','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] EnvelopeIdStamping_type_info = new String[]{'EnvelopeIdStamping','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] AuthoritativeCopy_type_info = new String[]{'AuthoritativeCopy','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EnvelopeAttachment_type_info = new String[]{'EnvelopeAttachment','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] DocumentStatuses_type_info = new String[]{'DocumentStatuses','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] FormData_type_info = new String[]{'FormData','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] VoidReason_type_info = new String[]{'VoidReason','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RecipientStatuses','TimeGenerated','EnvelopeID','Subject','UserName','Email','Status','Created','Deleted','Sent','Delivered','Signed','Completed','Declined','TimedOut','ACStatus','ACStatusDate','ACHolder','ACHolderEmail','ACHolderLocation','SigningLocation','SenderIPAddress','EnvelopePDFHash','CustomFields','VaultingDetails','AutoNavigation','EnvelopeIdStamping','AuthoritativeCopy','EnvelopeAttachment','DocumentStatuses','FormData','VoidReason'};
    }
    public class FolderResults {
        public Integer ResultSetSize;
        public Integer StartPosition;
        public Integer EndPosition;
        public DocuSignAPI.FolderTypeInfo FolderTypeInfo;
        public DocuSignAPI.ArrayOfFolderItem FolderItems;
        private String[] ResultSetSize_type_info = new String[]{'ResultSetSize','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] StartPosition_type_info = new String[]{'StartPosition','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] EndPosition_type_info = new String[]{'EndPosition','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] FolderTypeInfo_type_info = new String[]{'FolderTypeInfo','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] FolderItems_type_info = new String[]{'FolderItems','http://www.docusign.net/API/3.0',null,'1','1','true'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'ResultSetSize','StartPosition','EndPosition','FolderTypeInfo','FolderItems'};
    }
    public class UploadTemplateResponse_element {
        public DocuSignAPI.SaveTemplateResult UploadTemplateResult;
        private String[] UploadTemplateResult_type_info = new String[]{'UploadTemplateResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'UploadTemplateResult'};
    }
    public class EnvelopeAuditEventsV2Response_element {
        public DocuSignAPI.ArrayOfEnvelopeAuditEvent EnvelopeAuditEventsV2Result;
        private String[] EnvelopeAuditEventsV2Result_type_info = new String[]{'EnvelopeAuditEventsV2Result','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeAuditEventsV2Result'};
    }
    public class Tab {
        public Integer DocumentID;
        public Integer RecipientID;
        public Integer PageNumber;
        public Integer XPosition;
        public Integer YPosition;
        public Decimal ScaleValue;
        public DocuSignAPI.AnchorTab AnchorTabItem;
        public String Type_x;
        public String Name;
        public String TabLabel;
        public String Value;
        public String CustomTabType;
        public Integer CustomTabWidth;
        public Integer CustomTabHeight;
        public Boolean CustomTabRequired;
        public Boolean CustomTabLocked;
        public Boolean CustomTabDisableAutoSize;
        public String CustomTabListItems;
        public String CustomTabListValues;
        public String CustomTabListSelectedValue;
        public String CustomTabRadioGroupName;
        public String CustomTabValidationPattern;
        public String CustomTabValidationMessage;
        public Boolean TemplateLocked;
        public Boolean TemplateRequired;
        public String ConditionalParentLabel;
        public String ConditionalParentValue;
        public Boolean SharedTab;
        public Boolean RequireInitialOnSharedTabChange;
        public Boolean ConcealValueOnDocument;
        public String Font;
        public Boolean Bold;
        public Boolean Italic;
        public Boolean Underline;
        public String FontColor;
        public String FontSize;
        public String MergeFieldXml;
        public String MetadataXml;
        public Boolean IncludeNoteInEmail;
        public Boolean IsPaymentAmount;
        public String Formula;
        public Integer RoundDecimalPlaces;
        public Integer MaxLength;
        public Boolean SenderRequired;
        public Boolean RequireAll;
        public Integer TabOrder;
        private String[] DocumentID_type_info = new String[]{'DocumentID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RecipientID_type_info = new String[]{'RecipientID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] PageNumber_type_info = new String[]{'PageNumber','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] XPosition_type_info = new String[]{'XPosition','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] YPosition_type_info = new String[]{'YPosition','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ScaleValue_type_info = new String[]{'ScaleValue','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AnchorTabItem_type_info = new String[]{'AnchorTabItem','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Type_x_type_info = new String[]{'Type','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] Name_type_info = new String[]{'Name','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] TabLabel_type_info = new String[]{'TabLabel','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Value_type_info = new String[]{'Value','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CustomTabType_type_info = new String[]{'CustomTabType','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CustomTabWidth_type_info = new String[]{'CustomTabWidth','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CustomTabHeight_type_info = new String[]{'CustomTabHeight','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CustomTabRequired_type_info = new String[]{'CustomTabRequired','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CustomTabLocked_type_info = new String[]{'CustomTabLocked','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CustomTabDisableAutoSize_type_info = new String[]{'CustomTabDisableAutoSize','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CustomTabListItems_type_info = new String[]{'CustomTabListItems','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CustomTabListValues_type_info = new String[]{'CustomTabListValues','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CustomTabListSelectedValue_type_info = new String[]{'CustomTabListSelectedValue','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CustomTabRadioGroupName_type_info = new String[]{'CustomTabRadioGroupName','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CustomTabValidationPattern_type_info = new String[]{'CustomTabValidationPattern','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CustomTabValidationMessage_type_info = new String[]{'CustomTabValidationMessage','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] TemplateLocked_type_info = new String[]{'TemplateLocked','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] TemplateRequired_type_info = new String[]{'TemplateRequired','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ConditionalParentLabel_type_info = new String[]{'ConditionalParentLabel','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ConditionalParentValue_type_info = new String[]{'ConditionalParentValue','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] SharedTab_type_info = new String[]{'SharedTab','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RequireInitialOnSharedTabChange_type_info = new String[]{'RequireInitialOnSharedTabChange','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ConcealValueOnDocument_type_info = new String[]{'ConcealValueOnDocument','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Font_type_info = new String[]{'Font','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Bold_type_info = new String[]{'Bold','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Italic_type_info = new String[]{'Italic','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Underline_type_info = new String[]{'Underline','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] FontColor_type_info = new String[]{'FontColor','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] FontSize_type_info = new String[]{'FontSize','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] MergeFieldXml_type_info = new String[]{'MergeFieldXml','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] MetadataXml_type_info = new String[]{'MetadataXml','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] IncludeNoteInEmail_type_info = new String[]{'IncludeNoteInEmail','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] IsPaymentAmount_type_info = new String[]{'IsPaymentAmount','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Formula_type_info = new String[]{'Formula','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RoundDecimalPlaces_type_info = new String[]{'RoundDecimalPlaces','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] MaxLength_type_info = new String[]{'MaxLength','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] SenderRequired_type_info = new String[]{'SenderRequired','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RequireAll_type_info = new String[]{'RequireAll','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] TabOrder_type_info = new String[]{'TabOrder','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'DocumentID','RecipientID','PageNumber','XPosition','YPosition','ScaleValue','AnchorTabItem','Type_x','Name','TabLabel','Value','CustomTabType','CustomTabWidth','CustomTabHeight','CustomTabRequired','CustomTabLocked','CustomTabDisableAutoSize','CustomTabListItems','CustomTabListValues','CustomTabListSelectedValue','CustomTabRadioGroupName','CustomTabValidationPattern','CustomTabValidationMessage','TemplateLocked','TemplateRequired','ConditionalParentLabel','ConditionalParentValue','SharedTab','RequireInitialOnSharedTabChange','ConcealValueOnDocument','Font','Bold','Italic','Underline','FontColor','FontSize','MergeFieldXml','MetadataXml','IncludeNoteInEmail','IsPaymentAmount','Formula','RoundDecimalPlaces','MaxLength','SenderRequired','RequireAll','TabOrder'};
    }
    public class RequestPDFsWithOptions_element {
        public String EnvelopeID;
        public DocuSignAPI.PDFsOptions PDFsOptions;
        private String[] EnvelopeID_type_info = new String[]{'EnvelopeID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] PDFsOptions_type_info = new String[]{'PDFsOptions','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeID','PDFsOptions'};
    }
    public class RequestDocumentPDFsRecipientsViewResponse_element {
        public DocuSignAPI.DocumentPDFs RequestDocumentPDFsRecipientsViewResult;
        private String[] RequestDocumentPDFsRecipientsViewResult_type_info = new String[]{'RequestDocumentPDFsRecipientsViewResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RequestDocumentPDFsRecipientsViewResult'};
    }
    public class TransferEnvelopeResponse_element {
        public DocuSignAPI.TransferEnvelopeStatus TransferEnvelopeResult;
        private String[] TransferEnvelopeResult_type_info = new String[]{'TransferEnvelopeResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'TransferEnvelopeResult'};
    }
    public class ArrayOfConnectFailure {
        public DocuSignAPI.ConnectFailure[] ConnectFailure;
        private String[] ConnectFailure_type_info = new String[]{'ConnectFailure','http://www.docusign.net/API/3.0',null,'0','-1','true'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'ConnectFailure'};
    }
    public class AddressBookItem {
        public String AddressBookID;
        public String Email;
        public String UserName;
        public String AccountName;
        public Boolean Shared;
        public DateTime Created;
        public Boolean Owner;
        public DocuSignAPI.AddressBookPhoneNumber Phone1;
        public DocuSignAPI.AddressBookPhoneNumber Phone2;
        public DocuSignAPI.AddressBookPhoneNumber Phone3;
        public DocuSignAPI.AddressBookPhoneNumber Phone4;
        private String[] AddressBookID_type_info = new String[]{'AddressBookID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Email_type_info = new String[]{'Email','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] UserName_type_info = new String[]{'UserName','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AccountName_type_info = new String[]{'AccountName','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Shared_type_info = new String[]{'Shared','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] Created_type_info = new String[]{'Created','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Owner_type_info = new String[]{'Owner','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Phone1_type_info = new String[]{'Phone1','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Phone2_type_info = new String[]{'Phone2','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Phone3_type_info = new String[]{'Phone3','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Phone4_type_info = new String[]{'Phone4','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AddressBookID','Email','UserName','AccountName','Shared','Created','Owner','Phone1','Phone2','Phone3','Phone4'};
    }
    public class RecipientStatusEsignAgreementInformation {
        public String AccountEsignId;
        public String UserEsignId;
        public DateTime AgreementDate;
        private String[] AccountEsignId_type_info = new String[]{'AccountEsignId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] UserEsignId_type_info = new String[]{'UserEsignId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AgreementDate_type_info = new String[]{'AgreementDate','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AccountEsignId','UserEsignId','AgreementDate'};
    }
    public class CreateAndSendEnvelope_element {
        public DocuSignAPI.Envelope Envelope;
        private String[] Envelope_type_info = new String[]{'Envelope','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'Envelope'};
    }
    public class ArrayOfEnvelopeStatusChange {
        public DocuSignAPI.EnvelopeStatusChange[] EnvelopeStatusChange;
        private String[] EnvelopeStatusChange_type_info = new String[]{'EnvelopeStatusChange','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeStatusChange'};
    }
    public class ArrayOfServerTemplate {
        public DocuSignAPI.ServerTemplate[] ServerTemplate;
        private String[] ServerTemplate_type_info = new String[]{'ServerTemplate','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'ServerTemplate'};
    }
    public class ArrayOfDocumentField {
        public DocuSignAPI.DocumentField[] DocumentField;
        private String[] DocumentField_type_info = new String[]{'DocumentField','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'DocumentField'};
    }
    public class RequestCertificate_element {
        public String EnvelopeID;
        private String[] EnvelopeID_type_info = new String[]{'EnvelopeID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeID'};
    }
    public class ArrayOfTemplateReferenceFieldDataDataValue {
        public DocuSignAPI.TemplateReferenceFieldDataDataValue[] DataValue;
        private String[] DataValue_type_info = new String[]{'DataValue','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'DataValue'};
    }
    public class RequestStatusesResponse_element {
        public DocuSignAPI.FilteredEnvelopeStatuses RequestStatusesResult;
        private String[] RequestStatusesResult_type_info = new String[]{'RequestStatusesResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RequestStatusesResult'};
    }
    public class RequestTemplateListResponse_element {
        public DocuSignAPI.ArrayOfEnvelopeTemplate RequestTemplateListResult;
        private String[] RequestTemplateListResult_type_info = new String[]{'RequestTemplateListResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RequestTemplateListResult'};
    }
    public class CompleteAuthoritativeCopyExport_element {
        public String EnvelopeId;
        public String TransactionId;
        public String ExternalId;
        private String[] EnvelopeId_type_info = new String[]{'EnvelopeId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] TransactionId_type_info = new String[]{'TransactionId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ExternalId_type_info = new String[]{'ExternalId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeId','TransactionId','ExternalId'};
    }
    public class ArrayOfTemplateReferenceRoleAssignment {
        public DocuSignAPI.TemplateReferenceRoleAssignment[] RoleAssignment;
        private String[] RoleAssignment_type_info = new String[]{'RoleAssignment','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RoleAssignment'};
    }
    public class EnvelopeAuditEventsResult_element {
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{};
    }
    public class CorrectAndResendEnvelope_element {
        public DocuSignAPI.Correction Correction;
        private String[] Correction_type_info = new String[]{'Correction','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'Correction'};
    }
    public class GetAuthoritativeCopyExportKey_element {
        public String EnvelopeId;
        public String TransactionId;
        public String checkSumHash;
        private String[] EnvelopeId_type_info = new String[]{'EnvelopeId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] TransactionId_type_info = new String[]{'TransactionId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] checkSumHash_type_info = new String[]{'checkSumHash','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeId','TransactionId','checkSumHash'};
    }
    public class ArrayOfFolderItem {
        public DocuSignAPI.FolderItem[] FolderItem;
        private String[] FolderItem_type_info = new String[]{'FolderItem','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'FolderItem'};
    }
    public class GetAccountMembershipFeaturesListResponse_element {
        public DocuSignAPI.AccountMembershipFeaturesList GetAccountMembershipFeaturesListResult;
        private String[] GetAccountMembershipFeaturesListResult_type_info = new String[]{'GetAccountMembershipFeaturesListResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'GetAccountMembershipFeaturesListResult'};
    }
    public class SharedUserInfoResult {
        public String UserId;
        public String Email;
        public String UserName;
        private String[] UserId_type_info = new String[]{'UserId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Email_type_info = new String[]{'Email','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] UserName_type_info = new String[]{'UserName','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'UserId','Email','UserName'};
    }
    public class EnvelopePDF {
        public String EnvelopeID;
        public String PDFBytes;
        private String[] EnvelopeID_type_info = new String[]{'EnvelopeID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] PDFBytes_type_info = new String[]{'PDFBytes','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeID','PDFBytes'};
    }
    public class PurgeDocumentsAndMetaDataAndRedactResponse_element {
        public DocuSignAPI.PurgeDocumentStatus PurgeDocumentsAndMetaDataAndRedactResult;
        private String[] PurgeDocumentsAndMetaDataAndRedactResult_type_info = new String[]{'PurgeDocumentsAndMetaDataAndRedactResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'PurgeDocumentsAndMetaDataAndRedactResult'};
    }
    public class RequestTemplate_element {
        public String TemplateID;
        public Boolean IncludeDocumentBytes;
        private String[] TemplateID_type_info = new String[]{'TemplateID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] IncludeDocumentBytes_type_info = new String[]{'IncludeDocumentBytes','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'TemplateID','IncludeDocumentBytes'};
    }
    public class AuthoritativeCopyExportStatus {
        public Boolean AuthoritativeCopyExportSuccess;
        public String EnvelopeId;
        public String ExportKey;
        private String[] AuthoritativeCopyExportSuccess_type_info = new String[]{'AuthoritativeCopyExportSuccess','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EnvelopeId_type_info = new String[]{'EnvelopeId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ExportKey_type_info = new String[]{'ExportKey','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AuthoritativeCopyExportSuccess','EnvelopeId','ExportKey'};
    }
    public class GetFolderList_element {
        public DocuSignAPI.FoldersFilter FoldersFilter;
        private String[] FoldersFilter_type_info = new String[]{'FoldersFilter','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'FoldersFilter'};
    }
    public class RequestPDF_element {
        public String EnvelopeID;
        private String[] EnvelopeID_type_info = new String[]{'EnvelopeID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeID'};
    }
    public class BrandRequestItem {
        public String BrandId;
        private String[] BrandId_type_info = new String[]{'BrandId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'BrandId'};
    }
    public class RequestStatusEx_element {
        public String EnvelopeID;
        private String[] EnvelopeID_type_info = new String[]{'EnvelopeID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeID'};
    }
    public class ArrayOfDocumentPDF {
        public DocuSignAPI.DocumentPDF[] DocumentPDF;
        private String[] DocumentPDF_type_info = new String[]{'DocumentPDF','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'DocumentPDF'};
    }
    public class SharedUserInfoRequest {
        public String UserId;
        private String[] UserId_type_info = new String[]{'UserId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'UserId'};
    }
    public class Recipient {
        public Integer ID;
        public String UserName;
        public String SignerName;
        public String Email;
        public String Type_x;
        public String AccessCode;
        public Boolean AddAccessCodeToEmail;
        public Boolean RequireIDLookup;
        public String IDCheckConfigurationName;
        public String DeliveryMethod;
        public String FaxNumber;
        public Boolean LiveIDRecipientAuthentication;
        public Boolean FacebookRecipientAuthentication;
        public Boolean LinkedinRecipientAuthentication;
        public Boolean GoogleRecipientAuthentication;
        public Boolean SalesforceRecipientAuthentication;
        public Boolean TwitterRecipientAuthentication;
        public Boolean YahooRecipientAuthentication;
        public Boolean OpenIDRecipientAuthentication;
        public Boolean AnySocialIDRecipientAuthentication;
        public DocuSignAPI.RecipientPhoneAuthentication PhoneAuthentication;
        public DocuSignAPI.RecipientSAMLAuthentication SAMLAuthentication;
        public DocuSignAPI.RecipientSMSAuthentication SMSAuthentication;
        public DocuSignAPI.RecipientSignatureInfo SignatureInfo;
        public DocuSignAPI.RecipientCaptiveInfo CaptiveInfo;
        public DocuSignAPI.ArrayOfString1 CustomFields;
        public Integer RoutingOrder;
        public DocuSignAPI.IDCheckInformationInput IDCheckInformationInput;
        public Boolean AutoNavigation;
        public DocuSignAPI.ArrayOfAttachment RecipientAttachment;
        public String Note;
        public String RoleName;
        public Boolean TemplateLocked;
        public Boolean TemplateRequired;
        public Boolean TemplateAccessCodeRequired;
        public Boolean DefaultRecipient;
        public DocuSignAPI.RecipientEmailNotification EmailNotification;
        public Boolean AgentCanEditEmail;
        public Boolean AgentCanEditName;
        public Boolean SignInEachLocation;
        public DocuSignAPI.ArrayOfPositiveInteger ExcludedDocuments;
        public String RequireSignerCertificate;
        public String RequireNotary;
        public Boolean InheritEmailNotificationConfiguration;
        public String HostedSigner;
        public Boolean IsNotaryTransaction;
        public Long SigningGroupId;
        public DocuSignAPI.ArrayOfRecipientSignatureProvider RecipientSignatureProviders;
        private String[] ID_type_info = new String[]{'ID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] UserName_type_info = new String[]{'UserName','http://www.docusign.net/API/3.0',null,'1','1','true'};
        private String[] SignerName_type_info = new String[]{'SignerName','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Email_type_info = new String[]{'Email','http://www.docusign.net/API/3.0',null,'1','1','true'};
        private String[] Type_x_type_info = new String[]{'Type','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] AccessCode_type_info = new String[]{'AccessCode','http://www.docusign.net/API/3.0',null,'1','1','true'};
        private String[] AddAccessCodeToEmail_type_info = new String[]{'AddAccessCodeToEmail','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RequireIDLookup_type_info = new String[]{'RequireIDLookup','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] IDCheckConfigurationName_type_info = new String[]{'IDCheckConfigurationName','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] DeliveryMethod_type_info = new String[]{'DeliveryMethod','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] FaxNumber_type_info = new String[]{'FaxNumber','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] LiveIDRecipientAuthentication_type_info = new String[]{'LiveIDRecipientAuthentication','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] FacebookRecipientAuthentication_type_info = new String[]{'FacebookRecipientAuthentication','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] LinkedinRecipientAuthentication_type_info = new String[]{'LinkedinRecipientAuthentication','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] GoogleRecipientAuthentication_type_info = new String[]{'GoogleRecipientAuthentication','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] SalesforceRecipientAuthentication_type_info = new String[]{'SalesforceRecipientAuthentication','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] TwitterRecipientAuthentication_type_info = new String[]{'TwitterRecipientAuthentication','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] YahooRecipientAuthentication_type_info = new String[]{'YahooRecipientAuthentication','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] OpenIDRecipientAuthentication_type_info = new String[]{'OpenIDRecipientAuthentication','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AnySocialIDRecipientAuthentication_type_info = new String[]{'AnySocialIDRecipientAuthentication','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] PhoneAuthentication_type_info = new String[]{'PhoneAuthentication','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] SAMLAuthentication_type_info = new String[]{'SAMLAuthentication','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] SMSAuthentication_type_info = new String[]{'SMSAuthentication','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] SignatureInfo_type_info = new String[]{'SignatureInfo','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CaptiveInfo_type_info = new String[]{'CaptiveInfo','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CustomFields_type_info = new String[]{'CustomFields','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RoutingOrder_type_info = new String[]{'RoutingOrder','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] IDCheckInformationInput_type_info = new String[]{'IDCheckInformationInput','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AutoNavigation_type_info = new String[]{'AutoNavigation','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RecipientAttachment_type_info = new String[]{'RecipientAttachment','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Note_type_info = new String[]{'Note','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RoleName_type_info = new String[]{'RoleName','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] TemplateLocked_type_info = new String[]{'TemplateLocked','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] TemplateRequired_type_info = new String[]{'TemplateRequired','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] TemplateAccessCodeRequired_type_info = new String[]{'TemplateAccessCodeRequired','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] DefaultRecipient_type_info = new String[]{'DefaultRecipient','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EmailNotification_type_info = new String[]{'EmailNotification','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AgentCanEditEmail_type_info = new String[]{'AgentCanEditEmail','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AgentCanEditName_type_info = new String[]{'AgentCanEditName','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] SignInEachLocation_type_info = new String[]{'SignInEachLocation','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ExcludedDocuments_type_info = new String[]{'ExcludedDocuments','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RequireSignerCertificate_type_info = new String[]{'RequireSignerCertificate','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RequireNotary_type_info = new String[]{'RequireNotary','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] InheritEmailNotificationConfiguration_type_info = new String[]{'InheritEmailNotificationConfiguration','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] HostedSigner_type_info = new String[]{'HostedSigner','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] IsNotaryTransaction_type_info = new String[]{'IsNotaryTransaction','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] SigningGroupId_type_info = new String[]{'SigningGroupId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RecipientSignatureProviders_type_info = new String[]{'RecipientSignatureProviders','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'ID','UserName','SignerName','Email','Type_x','AccessCode','AddAccessCodeToEmail','RequireIDLookup','IDCheckConfigurationName','DeliveryMethod','FaxNumber','LiveIDRecipientAuthentication','FacebookRecipientAuthentication','LinkedinRecipientAuthentication','GoogleRecipientAuthentication','SalesforceRecipientAuthentication','TwitterRecipientAuthentication','YahooRecipientAuthentication','OpenIDRecipientAuthentication','AnySocialIDRecipientAuthentication','PhoneAuthentication','SAMLAuthentication','SMSAuthentication','SignatureInfo','CaptiveInfo','CustomFields','RoutingOrder','IDCheckInformationInput','AutoNavigation','RecipientAttachment','Note','RoleName','TemplateLocked','TemplateRequired','TemplateAccessCodeRequired','DefaultRecipient','EmailNotification','AgentCanEditEmail','AgentCanEditName','SignInEachLocation','ExcludedDocuments','RequireSignerCertificate','RequireNotary','InheritEmailNotificationConfiguration','HostedSigner','IsNotaryTransaction','SigningGroupId','RecipientSignatureProviders'};
    }
    public class FormDataXfdf {
        public DocuSignAPI.ArrayOfFormDataXfdfField fields;
        private String[] fields_type_info = new String[]{'fields','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'fields'};
    }
    public class RecipientCaptiveInfo {
        public String ClientUserId;
        public String EmbeddedRecipientStartURL;
        private String[] ClientUserId_type_info = new String[]{'ClientUserId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EmbeddedRecipientStartURL_type_info = new String[]{'EmbeddedRecipientStartURL','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'ClientUserId','EmbeddedRecipientStartURL'};
    }
    public class ArrayOfRecipientStatus {
        public DocuSignAPI.RecipientStatus[] RecipientStatus;
        private String[] RecipientStatus_type_info = new String[]{'RecipientStatus','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RecipientStatus'};
    }
    public class FolderItem {
        public String EnvelopeId;
        public String Status;
        public String Owner;
        public String SenderName;
        public String SenderEmail;
        public String SenderCompany;
        public DocuSignAPI.ArrayOfRecipientStatus RecipientStatuses;
        public DocuSignAPI.ArrayOfCustomField CustomFields;
        public DateTime Created;
        public DateTime Sent;
        public DateTime Completed;
        public String Subject;
        private String[] EnvelopeId_type_info = new String[]{'EnvelopeId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Status_type_info = new String[]{'Status','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] Owner_type_info = new String[]{'Owner','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] SenderName_type_info = new String[]{'SenderName','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] SenderEmail_type_info = new String[]{'SenderEmail','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] SenderCompany_type_info = new String[]{'SenderCompany','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RecipientStatuses_type_info = new String[]{'RecipientStatuses','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CustomFields_type_info = new String[]{'CustomFields','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Created_type_info = new String[]{'Created','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Sent_type_info = new String[]{'Sent','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Completed_type_info = new String[]{'Completed','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Subject_type_info = new String[]{'Subject','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeId','Status','Owner','SenderName','SenderEmail','SenderCompany','RecipientStatuses','CustomFields','Created','Sent','Completed','Subject'};
    }
    public class SharedItemResult {
        public DocuSignAPI.SharedUserInfoResult User_x;
        public String Shared;
        public String ItemType;
        public DocuSignAPI.ErrorDetails ErrorDetails;
        private String[] User_x_type_info = new String[]{'User','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Shared_type_info = new String[]{'Shared','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] ItemType_type_info = new String[]{'ItemType','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] ErrorDetails_type_info = new String[]{'ErrorDetails','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'User_x','Shared','ItemType','ErrorDetails'};
    }
    public class ArrayOfDocumentStatus {
        public DocuSignAPI.DocumentStatus[] DocumentStatus;
        private String[] DocumentStatus_type_info = new String[]{'DocumentStatus','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'DocumentStatus'};
    }
    public class GetFolderItems_element {
        public DocuSignAPI.FolderFilter FolderFilter;
        private String[] FolderFilter_type_info = new String[]{'FolderFilter','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'FolderFilter'};
    }
    public class DOBInformationInput {
        public DocuSignAPI.DOBInformation DOBInformation;
        public String DisplayLevel;
        public Boolean ReceiveInResponse;
        private String[] DOBInformation_type_info = new String[]{'DOBInformation','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] DisplayLevel_type_info = new String[]{'DisplayLevel','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ReceiveInResponse_type_info = new String[]{'ReceiveInResponse','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'DOBInformation','DisplayLevel','ReceiveInResponse'};
    }
    public class ArrayOfAddressBookItem {
        public DocuSignAPI.AddressBookItem[] AddressBookItem;
        private String[] AddressBookItem_type_info = new String[]{'AddressBookItem','http://www.docusign.net/API/3.0',null,'0','-1','true'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AddressBookItem'};
    }
    public class RequestSenderTokenResponse_element {
        public String RequestSenderTokenResult;
        private String[] RequestSenderTokenResult_type_info = new String[]{'RequestSenderTokenResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RequestSenderTokenResult'};
    }
    public class RequestCertificateResponse_element {
        public DocuSignAPI.DocumentPDFs RequestCertificateResult;
        private String[] RequestCertificateResult_type_info = new String[]{'RequestCertificateResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RequestCertificateResult'};
    }
    public class EnvelopeStatusFilterBeginDateTime {
        public String statusQualifier;
        private String[] statusQualifier_att_info = new String[]{'statusQualifier'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{};
    }
    public class RequestEnvelopeV2_element {
        public String EnvelopeID;
        public DocuSignAPI.RequestEnvelopeV2Options Options;
        private String[] EnvelopeID_type_info = new String[]{'EnvelopeID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Options_type_info = new String[]{'Options','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeID','Options'};
    }
    public class RecipientSignatureInfo {
        public String SignatureName;
        public String SignatureInitials;
        public String FontStyle;
        private String[] SignatureName_type_info = new String[]{'SignatureName','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] SignatureInitials_type_info = new String[]{'SignatureInitials','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] FontStyle_type_info = new String[]{'FontStyle','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'SignatureName','SignatureInitials','FontStyle'};
    }
    public class PurgeDocumentsResponse_element {
        public DocuSignAPI.PurgeDocumentStatus PurgeDocumentsResult;
        private String[] PurgeDocumentsResult_type_info = new String[]{'PurgeDocumentsResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'PurgeDocumentsResult'};
    }
    public class DeleteAccountBrands_element {
        public String AccountId;
        public DocuSignAPI.BrandDeleteRequest BrandDeleteRequest;
        private String[] AccountId_type_info = new String[]{'AccountId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] BrandDeleteRequest_type_info = new String[]{'BrandDeleteRequest','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AccountId','BrandDeleteRequest'};
    }
    public class VoidEnvelope_element {
        public String EnvelopeID;
        public String Reason;
        private String[] EnvelopeID_type_info = new String[]{'EnvelopeID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Reason_type_info = new String[]{'Reason','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeID','Reason'};
    }
    public class SaveTemplateResponse_element {
        public DocuSignAPI.SaveTemplateResult SaveTemplateResult;
        private String[] SaveTemplateResult_type_info = new String[]{'SaveTemplateResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'SaveTemplateResult'};
    }
    public class ArrayOfTabStatus {
        public DocuSignAPI.TabStatus[] TabStatus;
        private String[] TabStatus_type_info = new String[]{'TabStatus','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'TabStatus'};
    }
    public class SAMLAttribute {
        public String Name;
        public String Value;
        private String[] Name_type_info = new String[]{'Name','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Value_type_info = new String[]{'Value','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'Name','Value'};
    }
    public class GetFolderItemsResponse_element {
        public DocuSignAPI.FolderResults GetFolderItemsResult;
        private String[] GetFolderItemsResult_type_info = new String[]{'GetFolderItemsResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'GetFolderItemsResult'};
    }
    public class TemplateReferenceRoleAssignment {
        public String RoleName;
        public Integer RecipientID;
        private String[] RoleName_type_info = new String[]{'RoleName','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RecipientID_type_info = new String[]{'RecipientID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RoleName','RecipientID'};
    }
    public class RecipientList {
        public Boolean ReservedRecipientEmail;
        public Boolean MultipleUsers;
        public DocuSignAPI.ArrayOfString3 RecipientName;
        private String[] ReservedRecipientEmail_type_info = new String[]{'ReservedRecipientEmail','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] MultipleUsers_type_info = new String[]{'MultipleUsers','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RecipientName_type_info = new String[]{'RecipientName','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'ReservedRecipientEmail','MultipleUsers','RecipientName'};
    }
    public class ArrayOfRecipientCorrectionStatus {
        public DocuSignAPI.RecipientCorrectionStatus[] RecipientCorrectionStatus;
        private String[] RecipientCorrectionStatus_type_info = new String[]{'RecipientCorrectionStatus','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RecipientCorrectionStatus'};
    }
    public class SharedAccessFilter {
        public DocuSignAPI.ArrayOfString6 UserIds;
        public String ItemType;
        public String SearchText;
        public String Shared;
        public Integer StartAtIndex;
        public Integer Count;
        private String[] UserIds_type_info = new String[]{'UserIds','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ItemType_type_info = new String[]{'ItemType','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] SearchText_type_info = new String[]{'SearchText','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Shared_type_info = new String[]{'Shared','http://www.docusign.net/API/3.0',null,'1','1','true'};
        private String[] StartAtIndex_type_info = new String[]{'StartAtIndex','http://www.docusign.net/API/3.0',null,'1','1','true'};
        private String[] Count_type_info = new String[]{'Count','http://www.docusign.net/API/3.0',null,'1','1','true'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'UserIds','ItemType','SearchText','Shared','StartAtIndex','Count'};
    }
    public class RecipientCorrection {
        public String PreviousUserName;
        public String PreviousEmail;
        public Integer PreviousRoutingOrder;
        public String PreviousSignerName;
        public String CorrectedUserName;
        public String CorrectedSignerName;
        public String CorrectedEmail;
        public DocuSignAPI.RecipientCorrectionCorrectedCaptiveInfo CorrectedCaptiveInfo;
        public String CorrectedAccessCode;
        public Boolean CorrectedAccessCodeRequired;
        public Boolean CorrectedRequireIDLookup;
        public String CorrectedIDCheckConfigurationName;
        public Integer CorrectedRoutingOrder;
        public Boolean CorrectedAutoNavigation;
        public DocuSignAPI.IDCheckInformationInput CorrectedIDCheckInformationInput;
        public Boolean Resend;
        public String CorrectedDeliveryMethod;
        public String CorrectedFaxNumber;
        private String[] PreviousUserName_type_info = new String[]{'PreviousUserName','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] PreviousEmail_type_info = new String[]{'PreviousEmail','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] PreviousRoutingOrder_type_info = new String[]{'PreviousRoutingOrder','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] PreviousSignerName_type_info = new String[]{'PreviousSignerName','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CorrectedUserName_type_info = new String[]{'CorrectedUserName','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CorrectedSignerName_type_info = new String[]{'CorrectedSignerName','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CorrectedEmail_type_info = new String[]{'CorrectedEmail','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CorrectedCaptiveInfo_type_info = new String[]{'CorrectedCaptiveInfo','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CorrectedAccessCode_type_info = new String[]{'CorrectedAccessCode','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CorrectedAccessCodeRequired_type_info = new String[]{'CorrectedAccessCodeRequired','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CorrectedRequireIDLookup_type_info = new String[]{'CorrectedRequireIDLookup','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CorrectedIDCheckConfigurationName_type_info = new String[]{'CorrectedIDCheckConfigurationName','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CorrectedRoutingOrder_type_info = new String[]{'CorrectedRoutingOrder','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CorrectedAutoNavigation_type_info = new String[]{'CorrectedAutoNavigation','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CorrectedIDCheckInformationInput_type_info = new String[]{'CorrectedIDCheckInformationInput','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Resend_type_info = new String[]{'Resend','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CorrectedDeliveryMethod_type_info = new String[]{'CorrectedDeliveryMethod','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CorrectedFaxNumber_type_info = new String[]{'CorrectedFaxNumber','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'PreviousUserName','PreviousEmail','PreviousRoutingOrder','PreviousSignerName','CorrectedUserName','CorrectedSignerName','CorrectedEmail','CorrectedCaptiveInfo','CorrectedAccessCode','CorrectedAccessCodeRequired','CorrectedRequireIDLookup','CorrectedIDCheckConfigurationName','CorrectedRoutingOrder','CorrectedAutoNavigation','CorrectedIDCheckInformationInput','Resend','CorrectedDeliveryMethod','CorrectedFaxNumber'};
    }
    public class CorrectAndResendEnvelopeResponse_element {
        public DocuSignAPI.CorrectionStatus CorrectAndResendEnvelopeResult;
        private String[] CorrectAndResendEnvelopeResult_type_info = new String[]{'CorrectAndResendEnvelopeResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'CorrectAndResendEnvelopeResult'};
    }
    public class GetAuthoritativeCopyExportKeyResponse_element {
        public DocuSignAPI.AuthoritativeCopyExportStatus GetAuthoritativeCopyExportKeyResult;
        private String[] GetAuthoritativeCopyExportKeyResult_type_info = new String[]{'GetAuthoritativeCopyExportKeyResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'GetAuthoritativeCopyExportKeyResult'};
    }
    public class VoidEnvelopeResponse_element {
        public DocuSignAPI.VoidEnvelopeStatus VoidEnvelopeResult;
        private String[] VoidEnvelopeResult_type_info = new String[]{'VoidEnvelopeResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'VoidEnvelopeResult'};
    }
    public class EnvelopeAuditEvents_element {
        public String EnvelopeId;
        private String[] EnvelopeId_type_info = new String[]{'EnvelopeId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeId'};
    }
    public class RequestEnvelopeWithDocumentFields_element {
        public String EnvelopeID;
        public Boolean IncludeDocumentBytes;
        private String[] EnvelopeID_type_info = new String[]{'EnvelopeID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] IncludeDocumentBytes_type_info = new String[]{'IncludeDocumentBytes','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeID','IncludeDocumentBytes'};
    }
    public class EnvelopeTemplateDefinition {
        public String TemplateID;
        public String Name;
        public Boolean Shared;
        public String TemplatePassword;
        public String TemplateDescription;
        public DateTime LastModified;
        public Integer PageCount;
        private String[] TemplateID_type_info = new String[]{'TemplateID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Name_type_info = new String[]{'Name','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Shared_type_info = new String[]{'Shared','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] TemplatePassword_type_info = new String[]{'TemplatePassword','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] TemplateDescription_type_info = new String[]{'TemplateDescription','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] LastModified_type_info = new String[]{'LastModified','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] PageCount_type_info = new String[]{'PageCount','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'TemplateID','Name','Shared','TemplatePassword','TemplateDescription','LastModified','PageCount'};
    }
    public class ArrayOfAddressBookItem1 {
        public DocuSignAPI.AddressBookItem[] AddressBookItem;
        private String[] AddressBookItem_type_info = new String[]{'AddressBookItem','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AddressBookItem'};
    }
    public class RequestEnvelopeResponse_element {
        public DocuSignAPI.Envelope RequestEnvelopeResult;
        private String[] RequestEnvelopeResult_type_info = new String[]{'RequestEnvelopeResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RequestEnvelopeResult'};
    }
    public class RequestStatusesWithDocumentFieldsResponse_element {
        public DocuSignAPI.FilteredEnvelopeStatuses RequestStatusesWithDocumentFieldsResult;
        private String[] RequestStatusesWithDocumentFieldsResult_type_info = new String[]{'RequestStatusesWithDocumentFieldsResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RequestStatusesWithDocumentFieldsResult'};
    }
    public class ArrayOfEnvelopeTemplate {
        public DocuSignAPI.EnvelopeTemplate[] EnvelopeTemplate;
        private String[] EnvelopeTemplate_type_info = new String[]{'EnvelopeTemplate','http://www.docusign.net/API/3.0',null,'0','-1','true'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeTemplate'};
    }
    public class SharedItems {
        public DocuSignAPI.SharedUserInfoRequest User_x;
        public DocuSignAPI.SharedItemRequest[] SharedItem;
        private String[] User_x_type_info = new String[]{'User','http://www.docusign.net/API/3.0',null,'1','1','true'};
        private String[] SharedItem_type_info = new String[]{'SharedItem','http://www.docusign.net/API/3.0',null,'0','-1','true'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'User_x','SharedItem'};
    }
    public class MoveEnvelopesArg {
        public DocuSignAPI.ArrayOfString2 EnvelopeIds;
        public String AccountId;
        public DocuSignAPI.FolderTypeInfo FolderFrom;
        public DocuSignAPI.FolderTypeInfo FolderTo;
        private String[] EnvelopeIds_type_info = new String[]{'EnvelopeIds','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AccountId_type_info = new String[]{'AccountId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] FolderFrom_type_info = new String[]{'FolderFrom','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] FolderTo_type_info = new String[]{'FolderTo','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeIds','AccountId','FolderFrom','FolderTo'};
    }
    public class UploadTemplate_element {
        public String TemplateXML;
        public String AccountID;
        public Boolean Shared;
        private String[] TemplateXML_type_info = new String[]{'TemplateXML','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AccountID_type_info = new String[]{'AccountID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Shared_type_info = new String[]{'Shared','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'TemplateXML','AccountID','Shared'};
    }
    public class RemoveAddressBookItems_element {
        public DocuSignAPI.ArrayOfAddressBookRemoveItem AddressBookRemoveItems;
        public Boolean ReturnAddressBook;
        private String[] AddressBookRemoveItems_type_info = new String[]{'AddressBookRemoveItems','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ReturnAddressBook_type_info = new String[]{'ReturnAddressBook','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AddressBookRemoveItems','ReturnAddressBook'};
    }
    public class PDFsOptions {
        public Boolean ShowChanges;
        public String DocumentID;
        public String CertificateLanguage;
        private String[] ShowChanges_type_info = new String[]{'ShowChanges','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] DocumentID_type_info = new String[]{'DocumentID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CertificateLanguage_type_info = new String[]{'CertificateLanguage','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'ShowChanges','DocumentID','CertificateLanguage'};
    }
    public class RecipientEsignList {
        public String AccountId;
        public DocuSignAPI.ArrayOfRecipientEsign RecipientEsign;
        private String[] AccountId_type_info = new String[]{'AccountId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RecipientEsign_type_info = new String[]{'RecipientEsign','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AccountId','RecipientEsign'};
    }
    public class TemplateReferenceFieldData {
        public DocuSignAPI.ArrayOfTemplateReferenceFieldDataDataValue DataValues;
        private String[] DataValues_type_info = new String[]{'DataValues','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'DataValues'};
    }
    public class AcknowledgeAuthoritativeCopyExport_element {
        public String EnvelopeId;
        public String TransactionId;
        public String checkSumHash;
        private String[] EnvelopeId_type_info = new String[]{'EnvelopeId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] TransactionId_type_info = new String[]{'TransactionId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] checkSumHash_type_info = new String[]{'checkSumHash','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeId','TransactionId','checkSumHash'};
    }
    public class TemplateReference {
        public String TemplateLocation;
        public String Template;
        public DocuSignAPI.Document Document;
        public DocuSignAPI.ArrayOfTemplateReferenceRoleAssignment RoleAssignments;
        public DocuSignAPI.TemplateReferenceFieldData FieldData;
        public DocuSignAPI.ArrayOfTab AdditionalTabs;
        public Integer Sequence;
        public DocuSignAPI.ArrayOfAttachment TemplateAttachments;
        private String[] TemplateLocation_type_info = new String[]{'TemplateLocation','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Template_type_info = new String[]{'Template','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Document_type_info = new String[]{'Document','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RoleAssignments_type_info = new String[]{'RoleAssignments','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] FieldData_type_info = new String[]{'FieldData','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] AdditionalTabs_type_info = new String[]{'AdditionalTabs','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Sequence_type_info = new String[]{'Sequence','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] TemplateAttachments_type_info = new String[]{'TemplateAttachments','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'TemplateLocation','Template','Document','RoleAssignments','FieldData','AdditionalTabs','Sequence','TemplateAttachments'};
    }
    public class ArrayOfEnvelopeAuditEvent {
        public DocuSignAPI.EnvelopeAuditEvent[] EnvelopeAuditEvent;
        private String[] EnvelopeAuditEvent_type_info = new String[]{'EnvelopeAuditEvent','http://www.docusign.net/API/3.0',null,'0','-1','true'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeAuditEvent'};
    }
    public class RecipientSAMLAuthentication {
        public DocuSignAPI.ArrayOfSAMLAttribute SAMLAttributes;
        private String[] SAMLAttributes_type_info = new String[]{'SAMLAttributes','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'SAMLAttributes'};
    }
    public class GetSharedAccess_element {
        public String AccountId;
        public DocuSignAPI.SharedAccessFilter SharedAccessFilter;
        private String[] AccountId_type_info = new String[]{'AccountId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] SharedAccessFilter_type_info = new String[]{'SharedAccessFilter','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'AccountId','SharedAccessFilter'};
    }
    public class ArrayOfRecipientEsign {
        public DocuSignAPI.RecipientEsign[] RecipientEsign;
        private String[] RecipientEsign_type_info = new String[]{'RecipientEsign','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RecipientEsign'};
    }
    public class BrandResults {
        public String RecipientBrandIdDefault;
        public String SenderBrandIdDefault;
        public DocuSignAPI.ArrayOfBrandResultItem BrandResultItems;
        private String[] RecipientBrandIdDefault_type_info = new String[]{'RecipientBrandIdDefault','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] SenderBrandIdDefault_type_info = new String[]{'SenderBrandIdDefault','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] BrandResultItems_type_info = new String[]{'BrandResultItems','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RecipientBrandIdDefault','SenderBrandIdDefault','BrandResultItems'};
    }
    public class RequestTemplatesResponse_element {
        public DocuSignAPI.EnvelopeTemplates RequestTemplatesResult;
        private String[] RequestTemplatesResult_type_info = new String[]{'RequestTemplatesResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RequestTemplatesResult'};
    }
    public class VaultingDetails {
        public String EODTransactionName;
        public String EODTransactionID;
        public String EODDocumentProfileID;
        private String[] EODTransactionName_type_info = new String[]{'EODTransactionName','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EODTransactionID_type_info = new String[]{'EODTransactionID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] EODDocumentProfileID_type_info = new String[]{'EODDocumentProfileID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EODTransactionName','EODTransactionID','EODDocumentProfileID'};
    }
    public class GetRecipientList_element {
        public String SenderAccountId;
        public String RecipientEmail;
        private String[] SenderAccountId_type_info = new String[]{'SenderAccountId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] RecipientEmail_type_info = new String[]{'RecipientEmail','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'SenderAccountId','RecipientEmail'};
    }
    public class CustomField {
        public String Name;
        public String Show;
        public String Required;
        public String Value;
        public String CustomFieldType;
        public String ListItems;
        private String[] Name_type_info = new String[]{'Name','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Show_type_info = new String[]{'Show','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Required_type_info = new String[]{'Required','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Value_type_info = new String[]{'Value','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] CustomFieldType_type_info = new String[]{'CustomFieldType','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] ListItems_type_info = new String[]{'ListItems','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'Name','Show','Required','Value','CustomFieldType','ListItems'};
    }
    public class RequestStatusWithDocumentFields_element {
        public String EnvelopeID;
        private String[] EnvelopeID_type_info = new String[]{'EnvelopeID','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeID'};
    }
    public class AuthoritativeCopyExportDocuments {
        public String EnvelopeId;
        public String TransactionId;
        public Integer Count;
        public DocuSignAPI.DocumentPDF[] DocumentPDF;
        private String[] EnvelopeId_type_info = new String[]{'EnvelopeId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] TransactionId_type_info = new String[]{'TransactionId','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] Count_type_info = new String[]{'Count','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] DocumentPDF_type_info = new String[]{'DocumentPDF','http://www.docusign.net/API/3.0',null,'0','-1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'EnvelopeId','TransactionId','Count','DocumentPDF'};
    }
    public class MoveEnvelopesResponse_element {
        public Boolean MoveEnvelopesResult;
        private String[] MoveEnvelopesResult_type_info = new String[]{'MoveEnvelopesResult','http://www.docusign.net/API/3.0',null,'1','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'MoveEnvelopesResult'};
    }
    public class RequestTemplateResponse_element {
        public DocuSignAPI.EnvelopeTemplate RequestTemplateResult;
        private String[] RequestTemplateResult_type_info = new String[]{'RequestTemplateResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'RequestTemplateResult'};
    }
    public class SynchEnvelopeResponse_element {
        public DocuSignAPI.SynchEnvelopeStatus SynchEnvelopeResult;
        private String[] SynchEnvelopeResult_type_info = new String[]{'SynchEnvelopeResult','http://www.docusign.net/API/3.0',null,'0','1','false'};
        private String[] apex_schema_type_info = new String[]{'http://www.docusign.net/API/3.0','true','false'};
        private String[] field_order_type_info = new String[]{'SynchEnvelopeResult'};
    }
    public class DSAPIServiceSoap {
        public String endpoint_x = 'https://demo.docusign.net/api/3.0/dsapi.asmx';
        public Map<String,String> inputHttpHeaders_x;
        public Map<String,String> outputHttpHeaders_x;
        public String clientCertName_x;
        public String clientCert_x;
        public String clientCertPasswd_x;
        public Integer timeout_x;
        private String[] ns_map_type_info = new String[]{'http://www.docusign.net/API/3.0', 'DocuSignAPI'};
        public DocuSignAPI.DocumentPDFs RequestDocumentPDFsRecipientsView(String EnvelopeID,String RecipientName,String RecipientEmail) {
            DocuSignAPI.RequestDocumentPDFsRecipientsView_element request_x = new DocuSignAPI.RequestDocumentPDFsRecipientsView_element();
            request_x.EnvelopeID = EnvelopeID;
            request_x.RecipientName = RecipientName;
            request_x.RecipientEmail = RecipientEmail;
            DocuSignAPI.RequestDocumentPDFsRecipientsViewResponse_element response_x;
            Map<String, DocuSignAPI.RequestDocumentPDFsRecipientsViewResponse_element> response_map_x = new Map<String, DocuSignAPI.RequestDocumentPDFsRecipientsViewResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/RequestDocumentPDFsRecipientsView',
              'http://www.docusign.net/API/3.0',
              'RequestDocumentPDFsRecipientsView',
              'http://www.docusign.net/API/3.0',
              'RequestDocumentPDFsRecipientsViewResponse',
              'DocuSignAPI.RequestDocumentPDFsRecipientsViewResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.RequestDocumentPDFsRecipientsViewResult;
        }
        public DocuSignAPI.EnvelopeStatus CreateEnvelopeFromTemplates(DocuSignAPI.ArrayOfTemplateReference TemplateReferences,DocuSignAPI.ArrayOfRecipient1 Recipients,DocuSignAPI.EnvelopeInformation EnvelopeInformation,Boolean ActivateEnvelope) {
            DocuSignAPI.CreateEnvelopeFromTemplates_element request_x = new DocuSignAPI.CreateEnvelopeFromTemplates_element();
            request_x.TemplateReferences = TemplateReferences;
            request_x.Recipients = Recipients;
            request_x.EnvelopeInformation = EnvelopeInformation;
            request_x.ActivateEnvelope = ActivateEnvelope;
            DocuSignAPI.CreateEnvelopeFromTemplatesResponse_element response_x;
            Map<String, DocuSignAPI.CreateEnvelopeFromTemplatesResponse_element> response_map_x = new Map<String, DocuSignAPI.CreateEnvelopeFromTemplatesResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/CreateEnvelopeFromTemplates',
              'http://www.docusign.net/API/3.0',
              'CreateEnvelopeFromTemplates',
              'http://www.docusign.net/API/3.0',
              'CreateEnvelopeFromTemplatesResponse',
              'DocuSignAPI.CreateEnvelopeFromTemplatesResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.CreateEnvelopeFromTemplatesResult;
        }
        public DocuSignAPI.EnvelopeTemplate RequestTemplate(String TemplateID,Boolean IncludeDocumentBytes) {
            DocuSignAPI.RequestTemplate_element request_x = new DocuSignAPI.RequestTemplate_element();
            request_x.TemplateID = TemplateID;
            request_x.IncludeDocumentBytes = IncludeDocumentBytes;
            DocuSignAPI.RequestTemplateResponse_element response_x;
            Map<String, DocuSignAPI.RequestTemplateResponse_element> response_map_x = new Map<String, DocuSignAPI.RequestTemplateResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/RequestTemplate',
              'http://www.docusign.net/API/3.0',
              'RequestTemplate',
              'http://www.docusign.net/API/3.0',
              'RequestTemplateResponse',
              'DocuSignAPI.RequestTemplateResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.RequestTemplateResult;
        }
        public Boolean MoveEnvelopes(DocuSignAPI.MoveEnvelopesArg Arg) {
            DocuSignAPI.MoveEnvelopes_element request_x = new DocuSignAPI.MoveEnvelopes_element();
            request_x.Arg = Arg;
            DocuSignAPI.MoveEnvelopesResponse_element response_x;
            Map<String, DocuSignAPI.MoveEnvelopesResponse_element> response_map_x = new Map<String, DocuSignAPI.MoveEnvelopesResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/MoveEnvelopes',
              'http://www.docusign.net/API/3.0',
              'MoveEnvelopes',
              'http://www.docusign.net/API/3.0',
              'MoveEnvelopesResponse',
              'DocuSignAPI.MoveEnvelopesResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.MoveEnvelopesResult;
        }
        public DocuSignAPI.PurgeDocumentStatus PurgeDocuments(String EnvelopeID) {
            DocuSignAPI.PurgeDocuments_element request_x = new DocuSignAPI.PurgeDocuments_element();
            request_x.EnvelopeID = EnvelopeID;
            DocuSignAPI.PurgeDocumentsResponse_element response_x;
            Map<String, DocuSignAPI.PurgeDocumentsResponse_element> response_map_x = new Map<String, DocuSignAPI.PurgeDocumentsResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/PurgeDocuments',
              'http://www.docusign.net/API/3.0',
              'PurgeDocuments',
              'http://www.docusign.net/API/3.0',
              'PurgeDocumentsResponse',
              'DocuSignAPI.PurgeDocumentsResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.PurgeDocumentsResult;
        }
        public DocuSignAPI.EnvelopeStatus CreateAndSendEnvelope(DocuSignAPI.Envelope Envelope) {
            DocuSignAPI.CreateAndSendEnvelope_element request_x = new DocuSignAPI.CreateAndSendEnvelope_element();
            request_x.Envelope = Envelope;
            DocuSignAPI.CreateAndSendEnvelopeResponse_element response_x;
            Map<String, DocuSignAPI.CreateAndSendEnvelopeResponse_element> response_map_x = new Map<String, DocuSignAPI.CreateAndSendEnvelopeResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/CreateAndSendEnvelope',
              'http://www.docusign.net/API/3.0',
              'CreateAndSendEnvelope',
              'http://www.docusign.net/API/3.0',
              'CreateAndSendEnvelopeResponse',
              'DocuSignAPI.CreateAndSendEnvelopeResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.CreateAndSendEnvelopeResult;
        }
        public DocuSignAPI.EnvelopeStatus RequestStatusWithDocumentFields(String EnvelopeID) {
            DocuSignAPI.RequestStatusWithDocumentFields_element request_x = new DocuSignAPI.RequestStatusWithDocumentFields_element();
            request_x.EnvelopeID = EnvelopeID;
            DocuSignAPI.RequestStatusWithDocumentFieldsResponse_element response_x;
            Map<String, DocuSignAPI.RequestStatusWithDocumentFieldsResponse_element> response_map_x = new Map<String, DocuSignAPI.RequestStatusWithDocumentFieldsResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/RequestStatusWithDocumentFields',
              'http://www.docusign.net/API/3.0',
              'RequestStatusWithDocumentFields',
              'http://www.docusign.net/API/3.0',
              'RequestStatusWithDocumentFieldsResponse',
              'DocuSignAPI.RequestStatusWithDocumentFieldsResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.RequestStatusWithDocumentFieldsResult;
        }
        public DocuSignAPI.EnvelopePDF RequestRecipientFaxPDF(String EnvelopeID,String ClientUserID,String Username,String Email,DocuSignAPI.RequestRecipientTokenAuthenticationAssertion AuthenticationAssertion) {
            DocuSignAPI.RequestRecipientFaxPDF_element request_x = new DocuSignAPI.RequestRecipientFaxPDF_element();
            request_x.EnvelopeID = EnvelopeID;
            request_x.ClientUserID = ClientUserID;
            request_x.Username = Username;
            request_x.Email = Email;
            request_x.AuthenticationAssertion = AuthenticationAssertion;
            DocuSignAPI.RequestRecipientFaxPDFResponse_element response_x;
            Map<String, DocuSignAPI.RequestRecipientFaxPDFResponse_element> response_map_x = new Map<String, DocuSignAPI.RequestRecipientFaxPDFResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/RequestRecipientFaxPDF',
              'http://www.docusign.net/API/3.0',
              'RequestRecipientFaxPDF',
              'http://www.docusign.net/API/3.0',
              'RequestRecipientFaxPDFResponse',
              'DocuSignAPI.RequestRecipientFaxPDFResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.RequestRecipientFaxPDFResult;
        }
        public DocuSignAPI.Envelope RequestEnvelope(String EnvelopeID,Boolean IncludeDocumentBytes) {
            DocuSignAPI.RequestEnvelope_element request_x = new DocuSignAPI.RequestEnvelope_element();
            request_x.EnvelopeID = EnvelopeID;
            request_x.IncludeDocumentBytes = IncludeDocumentBytes;
            DocuSignAPI.RequestEnvelopeResponse_element response_x;
            Map<String, DocuSignAPI.RequestEnvelopeResponse_element> response_map_x = new Map<String, DocuSignAPI.RequestEnvelopeResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/RequestEnvelope',
              'http://www.docusign.net/API/3.0',
              'RequestEnvelope',
              'http://www.docusign.net/API/3.0',
              'RequestEnvelopeResponse',
              'DocuSignAPI.RequestEnvelopeResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.RequestEnvelopeResult;
        }
        public DocuSignAPI.EnvelopePDF RequestPDFWithCert(String EnvelopeID,Boolean AddWaterMark) {
            DocuSignAPI.RequestPDFWithCert_element request_x = new DocuSignAPI.RequestPDFWithCert_element();
            request_x.EnvelopeID = EnvelopeID;
            request_x.AddWaterMark = AddWaterMark;
            DocuSignAPI.RequestPDFWithCertResponse_element response_x;
            Map<String, DocuSignAPI.RequestPDFWithCertResponse_element> response_map_x = new Map<String, DocuSignAPI.RequestPDFWithCertResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/RequestPDFWithCert',
              'http://www.docusign.net/API/3.0',
              'RequestPDFWithCert',
              'http://www.docusign.net/API/3.0',
              'RequestPDFWithCertResponse',
              'DocuSignAPI.RequestPDFWithCertResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.RequestPDFWithCertResult;
        }
        public DocuSignAPI.RecipientEsignList GetRecipientEsignList(String UserName,String SenderEmail,String SenderAccountId,String RecipientEmail) {
            DocuSignAPI.GetRecipientEsignList_element request_x = new DocuSignAPI.GetRecipientEsignList_element();
            request_x.UserName = UserName;
            request_x.SenderEmail = SenderEmail;
            request_x.SenderAccountId = SenderAccountId;
            request_x.RecipientEmail = RecipientEmail;
            DocuSignAPI.GetRecipientEsignListResponse_element response_x;
            Map<String, DocuSignAPI.GetRecipientEsignListResponse_element> response_map_x = new Map<String, DocuSignAPI.GetRecipientEsignListResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/GetRecipientEsignList',
              'http://www.docusign.net/API/3.0',
              'GetRecipientEsignList',
              'http://www.docusign.net/API/3.0',
              'GetRecipientEsignListResponse',
              'DocuSignAPI.GetRecipientEsignListResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.GetRecipientEsignListResult;
        }
        public DocuSignAPI.SaveTemplateResult SaveTemplate(DocuSignAPI.EnvelopeTemplate EnvelopeTemplate) {
            DocuSignAPI.SaveTemplate_element request_x = new DocuSignAPI.SaveTemplate_element();
            request_x.EnvelopeTemplate = EnvelopeTemplate;
            DocuSignAPI.SaveTemplateResponse_element response_x;
            Map<String, DocuSignAPI.SaveTemplateResponse_element> response_map_x = new Map<String, DocuSignAPI.SaveTemplateResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/SaveTemplate',
              'http://www.docusign.net/API/3.0',
              'SaveTemplate',
              'http://www.docusign.net/API/3.0',
              'SaveTemplateResponse',
              'DocuSignAPI.SaveTemplateResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.SaveTemplateResult;
        }
        public DocuSignAPI.AvailableFolders GetFolderList(DocuSignAPI.FoldersFilter FoldersFilter) {
            DocuSignAPI.GetFolderList_element request_x = new DocuSignAPI.GetFolderList_element();
            request_x.FoldersFilter = FoldersFilter;
            DocuSignAPI.GetFolderListResponse_element response_x;
            Map<String, DocuSignAPI.GetFolderListResponse_element> response_map_x = new Map<String, DocuSignAPI.GetFolderListResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/GetFolderList',
              'http://www.docusign.net/API/3.0',
              'GetFolderList',
              'http://www.docusign.net/API/3.0',
              'GetFolderListResponse',
              'DocuSignAPI.GetFolderListResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.GetFolderListResult;
        }
        public DocuSignAPI.CorrectionStatus CorrectAndResendEnvelope(DocuSignAPI.Correction Correction) {
            DocuSignAPI.CorrectAndResendEnvelope_element request_x = new DocuSignAPI.CorrectAndResendEnvelope_element();
            request_x.Correction = Correction;
            DocuSignAPI.CorrectAndResendEnvelopeResponse_element response_x;
            Map<String, DocuSignAPI.CorrectAndResendEnvelopeResponse_element> response_map_x = new Map<String, DocuSignAPI.CorrectAndResendEnvelopeResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/CorrectAndResendEnvelope',
              'http://www.docusign.net/API/3.0',
              'CorrectAndResendEnvelope',
              'http://www.docusign.net/API/3.0',
              'CorrectAndResendEnvelopeResponse',
              'DocuSignAPI.CorrectAndResendEnvelopeResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.CorrectAndResendEnvelopeResult;
        }
        public DocuSignAPI.EnvelopePDF RequestPDFWithOptions(String EnvelopeID,DocuSignAPI.PDFOptions PDFOptions) {
            DocuSignAPI.RequestPDFWithOptions_element request_x = new DocuSignAPI.RequestPDFWithOptions_element();
            request_x.EnvelopeID = EnvelopeID;
            request_x.PDFOptions = PDFOptions;
            DocuSignAPI.RequestPDFWithOptionsResponse_element response_x;
            Map<String, DocuSignAPI.RequestPDFWithOptionsResponse_element> response_map_x = new Map<String, DocuSignAPI.RequestPDFWithOptionsResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/RequestPDFWithOptions',
              'http://www.docusign.net/API/3.0',
              'RequestPDFWithOptions',
              'http://www.docusign.net/API/3.0',
              'RequestPDFWithOptionsResponse',
              'DocuSignAPI.RequestPDFWithOptionsResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.RequestPDFWithOptionsResult;
        }
        public DocuSignAPI.Envelope RequestEnvelopeV2(String EnvelopeID,DocuSignAPI.RequestEnvelopeV2Options Options) {
            DocuSignAPI.RequestEnvelopeV2_element request_x = new DocuSignAPI.RequestEnvelopeV2_element();
            request_x.EnvelopeID = EnvelopeID;
            request_x.Options = Options;
            DocuSignAPI.RequestEnvelopeV2Response_element response_x;
            Map<String, DocuSignAPI.RequestEnvelopeV2Response_element> response_map_x = new Map<String, DocuSignAPI.RequestEnvelopeV2Response_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/RequestEnvelopeV2',
              'http://www.docusign.net/API/3.0',
              'RequestEnvelopeV2',
              'http://www.docusign.net/API/3.0',
              'RequestEnvelopeV2Response',
              'DocuSignAPI.RequestEnvelopeV2Response_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.RequestEnvelopeV2Result;
        }
        public DocuSignAPI.EnvelopeV2 RequestEnvelopeWithDocumentFieldsV2(String EnvelopeID,DocuSignAPI.RequestEnvelopeWithDocumentFieldsV2Options Options) {
            DocuSignAPI.RequestEnvelopeWithDocumentFieldsV2_element request_x = new DocuSignAPI.RequestEnvelopeWithDocumentFieldsV2_element();
            request_x.EnvelopeID = EnvelopeID;
            request_x.Options = Options;
            DocuSignAPI.RequestEnvelopeWithDocumentFieldsV2Response_element response_x;
            Map<String, DocuSignAPI.RequestEnvelopeWithDocumentFieldsV2Response_element> response_map_x = new Map<String, DocuSignAPI.RequestEnvelopeWithDocumentFieldsV2Response_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/RequestEnvelopeWithDocumentFieldsV2',
              'http://www.docusign.net/API/3.0',
              'RequestEnvelopeWithDocumentFieldsV2',
              'http://www.docusign.net/API/3.0',
              'RequestEnvelopeWithDocumentFieldsV2Response',
              'DocuSignAPI.RequestEnvelopeWithDocumentFieldsV2Response_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.RequestEnvelopeWithDocumentFieldsV2Result;
        }
        public DocuSignAPI.AuthoritativeCopyExportStatus CompleteAuthoritativeCopyExport(String EnvelopeId,String TransactionId,String ExternalId) {
            DocuSignAPI.CompleteAuthoritativeCopyExport_element request_x = new DocuSignAPI.CompleteAuthoritativeCopyExport_element();
            request_x.EnvelopeId = EnvelopeId;
            request_x.TransactionId = TransactionId;
            request_x.ExternalId = ExternalId;
            DocuSignAPI.CompleteAuthoritativeCopyExportResponse_element response_x;
            Map<String, DocuSignAPI.CompleteAuthoritativeCopyExportResponse_element> response_map_x = new Map<String, DocuSignAPI.CompleteAuthoritativeCopyExportResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/CompleteAuthoritativeCopyExport',
              'http://www.docusign.net/API/3.0',
              'CompleteAuthoritativeCopyExport',
              'http://www.docusign.net/API/3.0',
              'CompleteAuthoritativeCopyExportResponse',
              'DocuSignAPI.CompleteAuthoritativeCopyExportResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.CompleteAuthoritativeCopyExportResult;
        }
        public String RequestRecipientToken(String EnvelopeID,String ClientUserID,String Username,String Email,DocuSignAPI.RequestRecipientTokenAuthenticationAssertion AuthenticationAssertion,DocuSignAPI.RequestRecipientTokenClientURLs ClientURLs) {
            DocuSignAPI.RequestRecipientToken_element request_x = new DocuSignAPI.RequestRecipientToken_element();
            request_x.EnvelopeID = EnvelopeID;
            request_x.ClientUserID = ClientUserID;
            request_x.Username = Username;
            request_x.Email = Email;
            request_x.AuthenticationAssertion = AuthenticationAssertion;
            request_x.ClientURLs = ClientURLs;
            DocuSignAPI.RequestRecipientTokenResponse_element response_x;
            Map<String, DocuSignAPI.RequestRecipientTokenResponse_element> response_map_x = new Map<String, DocuSignAPI.RequestRecipientTokenResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/RequestRecipientToken',
              'http://www.docusign.net/API/3.0',
              'RequestRecipientToken',
              'http://www.docusign.net/API/3.0',
              'RequestRecipientTokenResponse',
              'DocuSignAPI.RequestRecipientTokenResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.RequestRecipientTokenResult;
        }
        public DocuSignAPI.EnvelopePDF RequestPDF(String EnvelopeID) {
            DocuSignAPI.RequestPDF_element request_x = new DocuSignAPI.RequestPDF_element();
            request_x.EnvelopeID = EnvelopeID;
            DocuSignAPI.RequestPDFResponse_element response_x;
            Map<String, DocuSignAPI.RequestPDFResponse_element> response_map_x = new Map<String, DocuSignAPI.RequestPDFResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/RequestPDF',
              'http://www.docusign.net/API/3.0',
              'RequestPDF',
              'http://www.docusign.net/API/3.0',
              'RequestPDFResponse',
              'DocuSignAPI.RequestPDFResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.RequestPDFResult;
        }
        public Boolean DeleteEnvelopes(DocuSignAPI.DeleteEnvelopesArg Arg) {
            DocuSignAPI.DeleteEnvelopes_element request_x = new DocuSignAPI.DeleteEnvelopes_element();
            request_x.Arg = Arg;
            DocuSignAPI.DeleteEnvelopesResponse_element response_x;
            Map<String, DocuSignAPI.DeleteEnvelopesResponse_element> response_map_x = new Map<String, DocuSignAPI.DeleteEnvelopesResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/DeleteEnvelopes',
              'http://www.docusign.net/API/3.0',
              'DeleteEnvelopes',
              'http://www.docusign.net/API/3.0',
              'DeleteEnvelopesResponse',
              'DocuSignAPI.DeleteEnvelopesResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.DeleteEnvelopesResult;
        }
        public DocuSignAPI.EnvelopeStatus CreateEnvelopeFromTemplatesAndForms(DocuSignAPI.EnvelopeInformation EnvelopeInformation,DocuSignAPI.ArrayOfCompositeTemplate CompositeTemplates,Boolean ActivateEnvelope) {
            DocuSignAPI.CreateEnvelopeFromTemplatesAndForms_element request_x = new DocuSignAPI.CreateEnvelopeFromTemplatesAndForms_element();
            request_x.EnvelopeInformation = EnvelopeInformation;
            request_x.CompositeTemplates = CompositeTemplates;
            request_x.ActivateEnvelope = ActivateEnvelope;
            DocuSignAPI.CreateEnvelopeFromTemplatesAndFormsResponse_element response_x;
            Map<String, DocuSignAPI.CreateEnvelopeFromTemplatesAndFormsResponse_element> response_map_x = new Map<String, DocuSignAPI.CreateEnvelopeFromTemplatesAndFormsResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/CreateEnvelopeFromTemplatesAndForms',
              'http://www.docusign.net/API/3.0',
              'CreateEnvelopeFromTemplatesAndForms',
              'http://www.docusign.net/API/3.0',
              'CreateEnvelopeFromTemplatesAndFormsResponse',
              'DocuSignAPI.CreateEnvelopeFromTemplatesAndFormsResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.CreateEnvelopeFromTemplatesAndFormsResult;
        }
        public DocuSignAPI.AuthoritativeCopyExportStatus GetAuthoritativeCopyExportKey(String EnvelopeId,String TransactionId,String checkSumHash) {
            DocuSignAPI.GetAuthoritativeCopyExportKey_element request_x = new DocuSignAPI.GetAuthoritativeCopyExportKey_element();
            request_x.EnvelopeId = EnvelopeId;
            request_x.TransactionId = TransactionId;
            request_x.checkSumHash = checkSumHash;
            DocuSignAPI.GetAuthoritativeCopyExportKeyResponse_element response_x;
            Map<String, DocuSignAPI.GetAuthoritativeCopyExportKeyResponse_element> response_map_x = new Map<String, DocuSignAPI.GetAuthoritativeCopyExportKeyResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/GetAuthoritativeCopyExportKey',
              'http://www.docusign.net/API/3.0',
              'GetAuthoritativeCopyExportKey',
              'http://www.docusign.net/API/3.0',
              'GetAuthoritativeCopyExportKeyResponse',
              'DocuSignAPI.GetAuthoritativeCopyExportKeyResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.GetAuthoritativeCopyExportKeyResult;
        }
        public DocuSignAPI.ArrayOfConnectFailure GetConnectFailures(DocuSignAPI.ConnectFailuresFilter ConnectFailuresFilter) {
            DocuSignAPI.GetConnectFailures_element request_x = new DocuSignAPI.GetConnectFailures_element();
            request_x.ConnectFailuresFilter = ConnectFailuresFilter;
            DocuSignAPI.GetConnectFailuresResponse_element response_x;
            Map<String, DocuSignAPI.GetConnectFailuresResponse_element> response_map_x = new Map<String, DocuSignAPI.GetConnectFailuresResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/GetConnectFailures',
              'http://www.docusign.net/API/3.0',
              'GetConnectFailures',
              'http://www.docusign.net/API/3.0',
              'GetConnectFailuresResponse',
              'DocuSignAPI.GetConnectFailuresResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.GetConnectFailuresResult;
        }
        public DocuSignAPI.SaveTemplateResult UploadTemplate(String TemplateXML,String AccountID,Boolean Shared) {
            DocuSignAPI.UploadTemplate_element request_x = new DocuSignAPI.UploadTemplate_element();
            request_x.TemplateXML = TemplateXML;
            request_x.AccountID = AccountID;
            request_x.Shared = Shared;
            DocuSignAPI.UploadTemplateResponse_element response_x;
            Map<String, DocuSignAPI.UploadTemplateResponse_element> response_map_x = new Map<String, DocuSignAPI.UploadTemplateResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/UploadTemplate',
              'http://www.docusign.net/API/3.0',
              'UploadTemplate',
              'http://www.docusign.net/API/3.0',
              'UploadTemplateResponse',
              'DocuSignAPI.UploadTemplateResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.UploadTemplateResult;
        }
        public DocuSignAPI.FilteredEnvelopeStatusChanges RequestStatusChanges(DocuSignAPI.EnvelopeStatusChangeFilter EnvelopeStatusChangeFilter) {
            DocuSignAPI.RequestStatusChanges_element request_x = new DocuSignAPI.RequestStatusChanges_element();
            request_x.EnvelopeStatusChangeFilter = EnvelopeStatusChangeFilter;
            DocuSignAPI.RequestStatusChangesResponse_element response_x;
            Map<String, DocuSignAPI.RequestStatusChangesResponse_element> response_map_x = new Map<String, DocuSignAPI.RequestStatusChangesResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/RequestStatusChanges',
              'http://www.docusign.net/API/3.0',
              'RequestStatusChanges',
              'http://www.docusign.net/API/3.0',
              'RequestStatusChangesResponse',
              'DocuSignAPI.RequestStatusChangesResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.RequestStatusChangesResult;
        }
        public Boolean Ping() {
            DocuSignAPI.Ping_element request_x = new DocuSignAPI.Ping_element();
            DocuSignAPI.PingResponse_element response_x;
            Map<String, DocuSignAPI.PingResponse_element> response_map_x = new Map<String, DocuSignAPI.PingResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/Ping',
              'http://www.docusign.net/API/3.0',
              'Ping',
              'http://www.docusign.net/API/3.0',
              'PingResponse',
              'DocuSignAPI.PingResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.PingResult;
        }
        public DocuSignAPI.EnvelopeTemplates RequestTemplates(String AccountID,Boolean IncludeAdvancedTemplates) {
            DocuSignAPI.RequestTemplates_element request_x = new DocuSignAPI.RequestTemplates_element();
            request_x.AccountID = AccountID;
            request_x.IncludeAdvancedTemplates = IncludeAdvancedTemplates;
            DocuSignAPI.RequestTemplatesResponse_element response_x;
            Map<String, DocuSignAPI.RequestTemplatesResponse_element> response_map_x = new Map<String, DocuSignAPI.RequestTemplatesResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/RequestTemplates',
              'http://www.docusign.net/API/3.0',
              'RequestTemplates',
              'http://www.docusign.net/API/3.0',
              'RequestTemplatesResponse',
              'DocuSignAPI.RequestTemplatesResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.RequestTemplatesResult;
        }
        public DocuSignAPI.UpdateAddressBookResult RemoveAddressBookItems(DocuSignAPI.ArrayOfAddressBookRemoveItem AddressBookRemoveItems,Boolean ReturnAddressBook) {
            DocuSignAPI.RemoveAddressBookItems_element request_x = new DocuSignAPI.RemoveAddressBookItems_element();
            request_x.AddressBookRemoveItems = AddressBookRemoveItems;
            request_x.ReturnAddressBook = ReturnAddressBook;
            DocuSignAPI.RemoveAddressBookItemsResponse_element response_x;
            Map<String, DocuSignAPI.RemoveAddressBookItemsResponse_element> response_map_x = new Map<String, DocuSignAPI.RemoveAddressBookItemsResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/RemoveAddressBookItems',
              'http://www.docusign.net/API/3.0',
              'RemoveAddressBookItems',
              'http://www.docusign.net/API/3.0',
              'RemoveAddressBookItemsResponse',
              'DocuSignAPI.RemoveAddressBookItemsResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.RemoveAddressBookItemsResult;
        }
        public DocuSignAPI.ArrayOfEnvelopeTemplate RequestTemplateList(DocuSignAPI.ArrayOfString5 TemplateIDs,Boolean IncludeDocumentBytes) {
            DocuSignAPI.RequestTemplateList_element request_x = new DocuSignAPI.RequestTemplateList_element();
            request_x.TemplateIDs = TemplateIDs;
            request_x.IncludeDocumentBytes = IncludeDocumentBytes;
            DocuSignAPI.RequestTemplateListResponse_element response_x;
            Map<String, DocuSignAPI.RequestTemplateListResponse_element> response_map_x = new Map<String, DocuSignAPI.RequestTemplateListResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/RequestTemplateList',
              'http://www.docusign.net/API/3.0',
              'RequestTemplateList',
              'http://www.docusign.net/API/3.0',
              'RequestTemplateListResponse',
              'DocuSignAPI.RequestTemplateListResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.RequestTemplateListResult;
        }
        public DocuSignAPI.DocumentPDFs RequestCertificateWithCertLanguage(String EnvelopeID,String CertLanguage) {
            DocuSignAPI.RequestCertificateWithCertLanguage_element request_x = new DocuSignAPI.RequestCertificateWithCertLanguage_element();
            request_x.EnvelopeID = EnvelopeID;
            request_x.CertLanguage = CertLanguage;
            DocuSignAPI.RequestCertificateWithCertLanguageResponse_element response_x;
            Map<String, DocuSignAPI.RequestCertificateWithCertLanguageResponse_element> response_map_x = new Map<String, DocuSignAPI.RequestCertificateWithCertLanguageResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/RequestCertificateWithCertLanguage',
              'http://www.docusign.net/API/3.0',
              'RequestCertificateWithCertLanguage',
              'http://www.docusign.net/API/3.0',
              'RequestCertificateWithCertLanguageResponse',
              'DocuSignAPI.RequestCertificateWithCertLanguageResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.RequestCertificateWithCertLanguageResult;
        }
        public DocuSignAPI.ArrayOfAddressBookItem GetAddressBookItems(String AccountID) {
            DocuSignAPI.GetAddressBookItems_element request_x = new DocuSignAPI.GetAddressBookItems_element();
            request_x.AccountID = AccountID;
            DocuSignAPI.GetAddressBookItemsResponse_element response_x;
            Map<String, DocuSignAPI.GetAddressBookItemsResponse_element> response_map_x = new Map<String, DocuSignAPI.GetAddressBookItemsResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/GetAddressBookItems',
              'http://www.docusign.net/API/3.0',
              'GetAddressBookItems',
              'http://www.docusign.net/API/3.0',
              'GetAddressBookItemsResponse',
              'DocuSignAPI.GetAddressBookItemsResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.GetAddressBookItemsResult;
        }
        public String RequestSenderToken(String EnvelopeID,String AccountID,String ReturnURL) {
            DocuSignAPI.RequestSenderToken_element request_x = new DocuSignAPI.RequestSenderToken_element();
            request_x.EnvelopeID = EnvelopeID;
            request_x.AccountID = AccountID;
            request_x.ReturnURL = ReturnURL;
            DocuSignAPI.RequestSenderTokenResponse_element response_x;
            Map<String, DocuSignAPI.RequestSenderTokenResponse_element> response_map_x = new Map<String, DocuSignAPI.RequestSenderTokenResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/RequestSenderToken',
              'http://www.docusign.net/API/3.0',
              'RequestSenderToken',
              'http://www.docusign.net/API/3.0',
              'RequestSenderTokenResponse',
              'DocuSignAPI.RequestSenderTokenResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.RequestSenderTokenResult;
        }
        public DocuSignAPI.DocumentPDFs RequestCertificate(String EnvelopeID) {
            DocuSignAPI.RequestCertificate_element request_x = new DocuSignAPI.RequestCertificate_element();
            request_x.EnvelopeID = EnvelopeID;
            DocuSignAPI.RequestCertificateResponse_element response_x;
            Map<String, DocuSignAPI.RequestCertificateResponse_element> response_map_x = new Map<String, DocuSignAPI.RequestCertificateResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/RequestCertificate',
              'http://www.docusign.net/API/3.0',
              'RequestCertificate',
              'http://www.docusign.net/API/3.0',
              'RequestCertificateResponse',
              'DocuSignAPI.RequestCertificateResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.RequestCertificateResult;
        }
        public DocuSignAPI.GetSharedAccessResult GetSharedAccess(String AccountId,DocuSignAPI.SharedAccessFilter SharedAccessFilter) {
            DocuSignAPI.GetSharedAccess_element request_x = new DocuSignAPI.GetSharedAccess_element();
            request_x.AccountId = AccountId;
            request_x.SharedAccessFilter = SharedAccessFilter;
            DocuSignAPI.GetSharedAccessResponse_element response_x;
            Map<String, DocuSignAPI.GetSharedAccessResponse_element> response_map_x = new Map<String, DocuSignAPI.GetSharedAccessResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/GetSharedAccess',
              'http://www.docusign.net/API/3.0',
              'GetSharedAccess',
              'http://www.docusign.net/API/3.0',
              'GetSharedAccessResponse',
              'DocuSignAPI.GetSharedAccessResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.GetSharedAccessResult;
        }
        public DocuSignAPI.ArrayOfPublishConnectFailuresResult PublishConnectFailures(DocuSignAPI.PublishConnectFailuresFilter PublishConnectFailuresFilter) {
            DocuSignAPI.PublishConnectFailures_element request_x = new DocuSignAPI.PublishConnectFailures_element();
            request_x.PublishConnectFailuresFilter = PublishConnectFailuresFilter;
            DocuSignAPI.PublishConnectFailuresResponse_element response_x;
            Map<String, DocuSignAPI.PublishConnectFailuresResponse_element> response_map_x = new Map<String, DocuSignAPI.PublishConnectFailuresResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/PublishConnectFailures',
              'http://www.docusign.net/API/3.0',
              'PublishConnectFailures',
              'http://www.docusign.net/API/3.0',
              'PublishConnectFailuresResponse',
              'DocuSignAPI.PublishConnectFailuresResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.PublishConnectFailuresResult;
        }
        public DocuSignAPI.EnvelopeStatus CreateEnvelope(DocuSignAPI.Envelope Envelope) {
            DocuSignAPI.CreateEnvelope_element request_x = new DocuSignAPI.CreateEnvelope_element();
            request_x.Envelope = Envelope;
            DocuSignAPI.CreateEnvelopeResponse_element response_x;
            Map<String, DocuSignAPI.CreateEnvelopeResponse_element> response_map_x = new Map<String, DocuSignAPI.CreateEnvelopeResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/CreateEnvelope',
              'http://www.docusign.net/API/3.0',
              'CreateEnvelope',
              'http://www.docusign.net/API/3.0',
              'CreateEnvelopeResponse',
              'DocuSignAPI.CreateEnvelopeResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.CreateEnvelopeResult;
        }
        public DocuSignAPI.DocumentPDFs RequestPDFsWithOptions(String EnvelopeID,DocuSignAPI.PDFsOptions PDFsOptions) {
            DocuSignAPI.RequestPDFsWithOptions_element request_x = new DocuSignAPI.RequestPDFsWithOptions_element();
            request_x.EnvelopeID = EnvelopeID;
            request_x.PDFsOptions = PDFsOptions;
            DocuSignAPI.RequestPDFsWithOptionsResponse_element response_x;
            Map<String, DocuSignAPI.RequestPDFsWithOptionsResponse_element> response_map_x = new Map<String, DocuSignAPI.RequestPDFsWithOptionsResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/RequestPDFsWithOptions',
              'http://www.docusign.net/API/3.0',
              'RequestPDFsWithOptions',
              'http://www.docusign.net/API/3.0',
              'RequestPDFsWithOptionsResponse',
              'DocuSignAPI.RequestPDFsWithOptionsResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.RequestPDFsWithOptionsResult;
        }
        public DocuSignAPI.DocuSignEnvelopeInformation GetStatusInDocuSignConnectFormat(String EnvelopeID) {
            DocuSignAPI.GetStatusInDocuSignConnectFormat_element request_x = new DocuSignAPI.GetStatusInDocuSignConnectFormat_element();
            request_x.EnvelopeID = EnvelopeID;
            DocuSignAPI.GetStatusInDocuSignConnectFormatResponse_element response_x;
            Map<String, DocuSignAPI.GetStatusInDocuSignConnectFormatResponse_element> response_map_x = new Map<String, DocuSignAPI.GetStatusInDocuSignConnectFormatResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/GetStatusInDocuSignConnectFormat',
              'http://www.docusign.net/API/3.0',
              'GetStatusInDocuSignConnectFormat',
              'http://www.docusign.net/API/3.0',
              'GetStatusInDocuSignConnectFormatResponse',
              'DocuSignAPI.GetStatusInDocuSignConnectFormatResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.GetStatusInDocuSignConnectFormatResult;
        }
        public DocuSignAPI.EnvelopeStatus RequestStatusEx(String EnvelopeID) {
            DocuSignAPI.RequestStatusEx_element request_x = new DocuSignAPI.RequestStatusEx_element();
            request_x.EnvelopeID = EnvelopeID;
            DocuSignAPI.RequestStatusExResponse_element response_x;
            Map<String, DocuSignAPI.RequestStatusExResponse_element> response_map_x = new Map<String, DocuSignAPI.RequestStatusExResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/RequestStatusEx',
              'http://www.docusign.net/API/3.0',
              'RequestStatusEx',
              'http://www.docusign.net/API/3.0',
              'RequestStatusExResponse',
              'DocuSignAPI.RequestStatusExResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.RequestStatusExResult;
        }
        public DocuSignAPI.SetSharedAccessResult SetSharedAccess(DocuSignAPI.SetSharedAccessRequest SetSharedAccessRequest) {
            DocuSignAPI.SetSharedAccess_element request_x = new DocuSignAPI.SetSharedAccess_element();
            request_x.SetSharedAccessRequest = SetSharedAccessRequest;
            DocuSignAPI.SetSharedAccessResponse_element response_x;
            Map<String, DocuSignAPI.SetSharedAccessResponse_element> response_map_x = new Map<String, DocuSignAPI.SetSharedAccessResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/SetSharedAccess',
              'http://www.docusign.net/API/3.0',
              'SetSharedAccess',
              'http://www.docusign.net/API/3.0',
              'SetSharedAccessResponse',
              'DocuSignAPI.SetSharedAccessResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.SetSharedAccessResult;
        }
        public DocuSignAPI.AuthoritativeCopyExportStatus AcknowledgeAuthoritativeCopyExport(String EnvelopeId,String TransactionId,String checkSumHash) {
            DocuSignAPI.AcknowledgeAuthoritativeCopyExport_element request_x = new DocuSignAPI.AcknowledgeAuthoritativeCopyExport_element();
            request_x.EnvelopeId = EnvelopeId;
            request_x.TransactionId = TransactionId;
            request_x.checkSumHash = checkSumHash;
            DocuSignAPI.AcknowledgeAuthoritativeCopyExportResponse_element response_x;
            Map<String, DocuSignAPI.AcknowledgeAuthoritativeCopyExportResponse_element> response_map_x = new Map<String, DocuSignAPI.AcknowledgeAuthoritativeCopyExportResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/AcknowledgeAuthoritativeCopyExport',
              'http://www.docusign.net/API/3.0',
              'AcknowledgeAuthoritativeCopyExport',
              'http://www.docusign.net/API/3.0',
              'AcknowledgeAuthoritativeCopyExportResponse',
              'DocuSignAPI.AcknowledgeAuthoritativeCopyExportResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.AcknowledgeAuthoritativeCopyExportResult;
        }
        public DocuSignAPI.PurgeDocumentStatus PurgeDocumentsAndMetaDataAndRedact(String EnvelopeID) {
            DocuSignAPI.PurgeDocumentsAndMetaDataAndRedact_element request_x = new DocuSignAPI.PurgeDocumentsAndMetaDataAndRedact_element();
            request_x.EnvelopeID = EnvelopeID;
            DocuSignAPI.PurgeDocumentsAndMetaDataAndRedactResponse_element response_x;
            Map<String, DocuSignAPI.PurgeDocumentsAndMetaDataAndRedactResponse_element> response_map_x = new Map<String, DocuSignAPI.PurgeDocumentsAndMetaDataAndRedactResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/PurgeDocumentsAndMetaDataAndRedact',
              'http://www.docusign.net/API/3.0',
              'PurgeDocumentsAndMetaDataAndRedact',
              'http://www.docusign.net/API/3.0',
              'PurgeDocumentsAndMetaDataAndRedactResponse',
              'DocuSignAPI.PurgeDocumentsAndMetaDataAndRedactResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.PurgeDocumentsAndMetaDataAndRedactResult;
        }
        public DocuSignAPI.FilteredEnvelopeStatuses RequestStatusesEx(DocuSignAPI.EnvelopeStatusFilter EnvelopeStatusFilter) {
            DocuSignAPI.RequestStatusesEx_element request_x = new DocuSignAPI.RequestStatusesEx_element();
            request_x.EnvelopeStatusFilter = EnvelopeStatusFilter;
            DocuSignAPI.RequestStatusesExResponse_element response_x;
            Map<String, DocuSignAPI.RequestStatusesExResponse_element> response_map_x = new Map<String, DocuSignAPI.RequestStatusesExResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/RequestStatusesEx',
              'http://www.docusign.net/API/3.0',
              'RequestStatusesEx',
              'http://www.docusign.net/API/3.0',
              'RequestStatusesExResponse',
              'DocuSignAPI.RequestStatusesExResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.RequestStatusesExResult;
        }
        public DocuSignAPI.EnvelopePDF RequestPDFNoWaterMark(String EnvelopeID) {
            DocuSignAPI.RequestPDFNoWaterMark_element request_x = new DocuSignAPI.RequestPDFNoWaterMark_element();
            request_x.EnvelopeID = EnvelopeID;
            DocuSignAPI.RequestPDFNoWaterMarkResponse_element response_x;
            Map<String, DocuSignAPI.RequestPDFNoWaterMarkResponse_element> response_map_x = new Map<String, DocuSignAPI.RequestPDFNoWaterMarkResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/RequestPDFNoWaterMark',
              'http://www.docusign.net/API/3.0',
              'RequestPDFNoWaterMark',
              'http://www.docusign.net/API/3.0',
              'RequestPDFNoWaterMarkResponse',
              'DocuSignAPI.RequestPDFNoWaterMarkResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.RequestPDFNoWaterMarkResult;
        }
        public DocuSignAPI.FilteredEnvelopeStatuses RequestStatuses(DocuSignAPI.EnvelopeStatusFilter EnvelopeStatusFilter) {
            DocuSignAPI.RequestStatuses_element request_x = new DocuSignAPI.RequestStatuses_element();
            request_x.EnvelopeStatusFilter = EnvelopeStatusFilter;
            DocuSignAPI.RequestStatusesResponse_element response_x;
            Map<String, DocuSignAPI.RequestStatusesResponse_element> response_map_x = new Map<String, DocuSignAPI.RequestStatusesResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/RequestStatuses',
              'http://www.docusign.net/API/3.0',
              'RequestStatuses',
              'http://www.docusign.net/API/3.0',
              'RequestStatusesResponse',
              'DocuSignAPI.RequestStatusesResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.RequestStatusesResult;
        }
        public DocuSignAPI.AuthoritativeCopyExportDocuments ExportAuthoritativeCopy(String EnvelopeId) {
            DocuSignAPI.ExportAuthoritativeCopy_element request_x = new DocuSignAPI.ExportAuthoritativeCopy_element();
            request_x.EnvelopeId = EnvelopeId;
            DocuSignAPI.ExportAuthoritativeCopyResponse_element response_x;
            Map<String, DocuSignAPI.ExportAuthoritativeCopyResponse_element> response_map_x = new Map<String, DocuSignAPI.ExportAuthoritativeCopyResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/ExportAuthoritativeCopy',
              'http://www.docusign.net/API/3.0',
              'ExportAuthoritativeCopy',
              'http://www.docusign.net/API/3.0',
              'ExportAuthoritativeCopyResponse',
              'DocuSignAPI.ExportAuthoritativeCopyResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.ExportAuthoritativeCopyResult;
        }
        public DocuSignAPI.EnvelopePDF RequestPDFRecipientsView(String EnvelopeID,String RecipientName,String RecipientEmail,DocuSignAPI.PDFOptions PDFOptions) {
            DocuSignAPI.RequestPDFRecipientsView_element request_x = new DocuSignAPI.RequestPDFRecipientsView_element();
            request_x.EnvelopeID = EnvelopeID;
            request_x.RecipientName = RecipientName;
            request_x.RecipientEmail = RecipientEmail;
            request_x.PDFOptions = PDFOptions;
            DocuSignAPI.RequestPDFRecipientsViewResponse_element response_x;
            Map<String, DocuSignAPI.RequestPDFRecipientsViewResponse_element> response_map_x = new Map<String, DocuSignAPI.RequestPDFRecipientsViewResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/RequestPDFRecipientsView',
              'http://www.docusign.net/API/3.0',
              'RequestPDFRecipientsView',
              'http://www.docusign.net/API/3.0',
              'RequestPDFRecipientsViewResponse',
              'DocuSignAPI.RequestPDFRecipientsViewResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.RequestPDFRecipientsViewResult;
        }
        public DocuSignAPI.EnvelopeAuditEventsResult_element EnvelopeAuditEvents(String EnvelopeId) {
            DocuSignAPI.EnvelopeAuditEvents_element request_x = new DocuSignAPI.EnvelopeAuditEvents_element();
            request_x.EnvelopeId = EnvelopeId;
            DocuSignAPI.EnvelopeAuditEventsResponse_element response_x;
            Map<String, DocuSignAPI.EnvelopeAuditEventsResponse_element> response_map_x = new Map<String, DocuSignAPI.EnvelopeAuditEventsResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/EnvelopeAuditEvents',
              'http://www.docusign.net/API/3.0',
              'EnvelopeAuditEvents',
              'http://www.docusign.net/API/3.0',
              'EnvelopeAuditEventsResponse',
              'DocuSignAPI.EnvelopeAuditEventsResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.EnvelopeAuditEventsResult;
        }
        public DocuSignAPI.DocumentPDFs RequestDocumentPDFs(String EnvelopeID) {
            DocuSignAPI.RequestDocumentPDFs_element request_x = new DocuSignAPI.RequestDocumentPDFs_element();
            request_x.EnvelopeID = EnvelopeID;
            DocuSignAPI.RequestDocumentPDFsResponse_element response_x;
            Map<String, DocuSignAPI.RequestDocumentPDFsResponse_element> response_map_x = new Map<String, DocuSignAPI.RequestDocumentPDFsResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/RequestDocumentPDFs',
              'http://www.docusign.net/API/3.0',
              'RequestDocumentPDFs',
              'http://www.docusign.net/API/3.0',
              'RequestDocumentPDFsResponse',
              'DocuSignAPI.RequestDocumentPDFsResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.RequestDocumentPDFsResult;
        }
        public DocuSignAPI.SynchEnvelopeStatus SynchEnvelope(String TransactionID,String AccountID,Boolean Block) {
            DocuSignAPI.SynchEnvelope_element request_x = new DocuSignAPI.SynchEnvelope_element();
            request_x.TransactionID = TransactionID;
            request_x.AccountID = AccountID;
            request_x.Block = Block;
            DocuSignAPI.SynchEnvelopeResponse_element response_x;
            Map<String, DocuSignAPI.SynchEnvelopeResponse_element> response_map_x = new Map<String, DocuSignAPI.SynchEnvelopeResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/SynchEnvelope',
              'http://www.docusign.net/API/3.0',
              'SynchEnvelope',
              'http://www.docusign.net/API/3.0',
              'SynchEnvelopeResponse',
              'DocuSignAPI.SynchEnvelopeResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.SynchEnvelopeResult;
        }
        public DocuSignAPI.ArrayOfEnvelopeTemplate RequestTemplateListWithDocumentFields(DocuSignAPI.ArrayOfString5 TemplateIDs,Boolean IncludeDocumentBytes) {
            DocuSignAPI.RequestTemplateListWithDocumentFields_element request_x = new DocuSignAPI.RequestTemplateListWithDocumentFields_element();
            request_x.TemplateIDs = TemplateIDs;
            request_x.IncludeDocumentBytes = IncludeDocumentBytes;
            DocuSignAPI.RequestTemplateListWithDocumentFieldsResponse_element response_x;
            Map<String, DocuSignAPI.RequestTemplateListWithDocumentFieldsResponse_element> response_map_x = new Map<String, DocuSignAPI.RequestTemplateListWithDocumentFieldsResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/RequestTemplateListWithDocumentFields',
              'http://www.docusign.net/API/3.0',
              'RequestTemplateListWithDocumentFields',
              'http://www.docusign.net/API/3.0',
              'RequestTemplateListWithDocumentFieldsResponse',
              'DocuSignAPI.RequestTemplateListWithDocumentFieldsResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.RequestTemplateListWithDocumentFieldsResult;
        }
        public DocuSignAPI.Envelope RequestEnvelopeWithDocumentFields(String EnvelopeID,Boolean IncludeDocumentBytes) {
            DocuSignAPI.RequestEnvelopeWithDocumentFields_element request_x = new DocuSignAPI.RequestEnvelopeWithDocumentFields_element();
            request_x.EnvelopeID = EnvelopeID;
            request_x.IncludeDocumentBytes = IncludeDocumentBytes;
            DocuSignAPI.RequestEnvelopeWithDocumentFieldsResponse_element response_x;
            Map<String, DocuSignAPI.RequestEnvelopeWithDocumentFieldsResponse_element> response_map_x = new Map<String, DocuSignAPI.RequestEnvelopeWithDocumentFieldsResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/RequestEnvelopeWithDocumentFields',
              'http://www.docusign.net/API/3.0',
              'RequestEnvelopeWithDocumentFields',
              'http://www.docusign.net/API/3.0',
              'RequestEnvelopeWithDocumentFieldsResponse',
              'DocuSignAPI.RequestEnvelopeWithDocumentFieldsResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.RequestEnvelopeWithDocumentFieldsResult;
        }
        public DocuSignAPI.FolderResults GetFolderItems(DocuSignAPI.FolderFilter FolderFilter) {
            DocuSignAPI.GetFolderItems_element request_x = new DocuSignAPI.GetFolderItems_element();
            request_x.FolderFilter = FolderFilter;
            DocuSignAPI.GetFolderItemsResponse_element response_x;
            Map<String, DocuSignAPI.GetFolderItemsResponse_element> response_map_x = new Map<String, DocuSignAPI.GetFolderItemsResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/GetFolderItems',
              'http://www.docusign.net/API/3.0',
              'GetFolderItems',
              'http://www.docusign.net/API/3.0',
              'GetFolderItemsResponse',
              'DocuSignAPI.GetFolderItemsResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.GetFolderItemsResult;
        }
        public DocuSignAPI.EnvelopeStatus SendEnvelope(String EnvelopeId,String AccountId) {
            DocuSignAPI.SendEnvelope_element request_x = new DocuSignAPI.SendEnvelope_element();
            request_x.EnvelopeId = EnvelopeId;
            request_x.AccountId = AccountId;
            DocuSignAPI.SendEnvelopeResponse_element response_x;
            Map<String, DocuSignAPI.SendEnvelopeResponse_element> response_map_x = new Map<String, DocuSignAPI.SendEnvelopeResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/SendEnvelope',
              'http://www.docusign.net/API/3.0',
              'SendEnvelope',
              'http://www.docusign.net/API/3.0',
              'SendEnvelopeResponse',
              'DocuSignAPI.SendEnvelopeResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.SendEnvelopeResult;
        }
        public DocuSignAPI.DocumentPDFs RequestDocumentPDFsEx(String EnvelopeID) {
            DocuSignAPI.RequestDocumentPDFsEx_element request_x = new DocuSignAPI.RequestDocumentPDFsEx_element();
            request_x.EnvelopeID = EnvelopeID;
            DocuSignAPI.RequestDocumentPDFsExResponse_element response_x;
            Map<String, DocuSignAPI.RequestDocumentPDFsExResponse_element> response_map_x = new Map<String, DocuSignAPI.RequestDocumentPDFsExResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/RequestDocumentPDFsEx',
              'http://www.docusign.net/API/3.0',
              'RequestDocumentPDFsEx',
              'http://www.docusign.net/API/3.0',
              'RequestDocumentPDFsExResponse',
              'DocuSignAPI.RequestDocumentPDFsExResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.RequestDocumentPDFsExResult;
        }
        public DocuSignAPI.RecipientList GetRecipientList(String SenderAccountId,String RecipientEmail) {
            DocuSignAPI.GetRecipientList_element request_x = new DocuSignAPI.GetRecipientList_element();
            request_x.SenderAccountId = SenderAccountId;
            request_x.RecipientEmail = RecipientEmail;
            DocuSignAPI.GetRecipientListResponse_element response_x;
            Map<String, DocuSignAPI.GetRecipientListResponse_element> response_map_x = new Map<String, DocuSignAPI.GetRecipientListResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/GetRecipientList',
              'http://www.docusign.net/API/3.0',
              'GetRecipientList',
              'http://www.docusign.net/API/3.0',
              'GetRecipientListResponse',
              'DocuSignAPI.GetRecipientListResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.GetRecipientListResult;
        }
        public DocuSignAPI.AccountMembershipFeaturesList GetAccountMembershipFeaturesList(String AccountId) {
            DocuSignAPI.GetAccountMembershipFeaturesList_element request_x = new DocuSignAPI.GetAccountMembershipFeaturesList_element();
            request_x.AccountId = AccountId;
            DocuSignAPI.GetAccountMembershipFeaturesListResponse_element response_x;
            Map<String, DocuSignAPI.GetAccountMembershipFeaturesListResponse_element> response_map_x = new Map<String, DocuSignAPI.GetAccountMembershipFeaturesListResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/GetAccountMembershipFeaturesList',
              'http://www.docusign.net/API/3.0',
              'GetAccountMembershipFeaturesList',
              'http://www.docusign.net/API/3.0',
              'GetAccountMembershipFeaturesListResponse',
              'DocuSignAPI.GetAccountMembershipFeaturesListResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.GetAccountMembershipFeaturesListResult;
        }
        public DocuSignAPI.VoidEnvelopeStatus VoidEnvelope(String EnvelopeID,String Reason) {
            DocuSignAPI.VoidEnvelope_element request_x = new DocuSignAPI.VoidEnvelope_element();
            request_x.EnvelopeID = EnvelopeID;
            request_x.Reason = Reason;
            DocuSignAPI.VoidEnvelopeResponse_element response_x;
            Map<String, DocuSignAPI.VoidEnvelopeResponse_element> response_map_x = new Map<String, DocuSignAPI.VoidEnvelopeResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/VoidEnvelope',
              'http://www.docusign.net/API/3.0',
              'VoidEnvelope',
              'http://www.docusign.net/API/3.0',
              'VoidEnvelopeResponse',
              'DocuSignAPI.VoidEnvelopeResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.VoidEnvelopeResult;
        }
        public String RequestRecipientFaxToken(String EnvelopeID,String ClientUserID,String Username,String Email,DocuSignAPI.RequestRecipientTokenAuthenticationAssertion AuthenticationAssertion,DocuSignAPI.RequestRecipientTokenClientURLs ClientURLs) {
            DocuSignAPI.RequestRecipientFaxToken_element request_x = new DocuSignAPI.RequestRecipientFaxToken_element();
            request_x.EnvelopeID = EnvelopeID;
            request_x.ClientUserID = ClientUserID;
            request_x.Username = Username;
            request_x.Email = Email;
            request_x.AuthenticationAssertion = AuthenticationAssertion;
            request_x.ClientURLs = ClientURLs;
            DocuSignAPI.RequestRecipientFaxTokenResponse_element response_x;
            Map<String, DocuSignAPI.RequestRecipientFaxTokenResponse_element> response_map_x = new Map<String, DocuSignAPI.RequestRecipientFaxTokenResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/RequestRecipientFaxToken',
              'http://www.docusign.net/API/3.0',
              'RequestRecipientFaxToken',
              'http://www.docusign.net/API/3.0',
              'RequestRecipientFaxTokenResponse',
              'DocuSignAPI.RequestRecipientFaxTokenResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.RequestRecipientFaxTokenResult;
        }
        public DocuSignAPI.EnvelopeTemplate RequestTemplateWithDocumentFields(String TemplateID,Boolean IncludeDocumentBytes) {
            DocuSignAPI.RequestTemplateWithDocumentFields_element request_x = new DocuSignAPI.RequestTemplateWithDocumentFields_element();
            request_x.TemplateID = TemplateID;
            request_x.IncludeDocumentBytes = IncludeDocumentBytes;
            DocuSignAPI.RequestTemplateWithDocumentFieldsResponse_element response_x;
            Map<String, DocuSignAPI.RequestTemplateWithDocumentFieldsResponse_element> response_map_x = new Map<String, DocuSignAPI.RequestTemplateWithDocumentFieldsResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/RequestTemplateWithDocumentFields',
              'http://www.docusign.net/API/3.0',
              'RequestTemplateWithDocumentFields',
              'http://www.docusign.net/API/3.0',
              'RequestTemplateWithDocumentFieldsResponse',
              'DocuSignAPI.RequestTemplateWithDocumentFieldsResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.RequestTemplateWithDocumentFieldsResult;
        }
        public String GetAuthenticationToken(String GoToEnvelopeID) {
            DocuSignAPI.GetAuthenticationToken_element request_x = new DocuSignAPI.GetAuthenticationToken_element();
            request_x.GoToEnvelopeID = GoToEnvelopeID;
            DocuSignAPI.GetAuthenticationTokenResponse_element response_x;
            Map<String, DocuSignAPI.GetAuthenticationTokenResponse_element> response_map_x = new Map<String, DocuSignAPI.GetAuthenticationTokenResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/GetAuthenticationToken',
              'http://www.docusign.net/API/3.0',
              'GetAuthenticationToken',
              'http://www.docusign.net/API/3.0',
              'GetAuthenticationTokenResponse',
              'DocuSignAPI.GetAuthenticationTokenResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.GetAuthenticationTokenResult;
        }
        public DocuSignAPI.BrandResults GetAccountBrands(String AccountId) {
            DocuSignAPI.GetAccountBrands_element request_x = new DocuSignAPI.GetAccountBrands_element();
            request_x.AccountId = AccountId;
            DocuSignAPI.GetAccountBrandsResponse_element response_x;
            Map<String, DocuSignAPI.GetAccountBrandsResponse_element> response_map_x = new Map<String, DocuSignAPI.GetAccountBrandsResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/GetAccountBrands',
              'http://www.docusign.net/API/3.0',
              'GetAccountBrands',
              'http://www.docusign.net/API/3.0',
              'GetAccountBrandsResponse',
              'DocuSignAPI.GetAccountBrandsResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.GetAccountBrandsResult;
        }
        public DocuSignAPI.CaptiveRecipientResults DeleteCaptiveRecipientsSignatures(String AccountId,DocuSignAPI.DeleteCaptiveRecipientsSignaturesArg Arg) {
            DocuSignAPI.DeleteCaptiveRecipientsSignatures_element request_x = new DocuSignAPI.DeleteCaptiveRecipientsSignatures_element();
            request_x.AccountId = AccountId;
            request_x.Arg = Arg;
            DocuSignAPI.DeleteCaptiveRecipientsSignaturesResponse_element response_x;
            Map<String, DocuSignAPI.DeleteCaptiveRecipientsSignaturesResponse_element> response_map_x = new Map<String, DocuSignAPI.DeleteCaptiveRecipientsSignaturesResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/DeleteCaptiveRecipientsSignatures',
              'http://www.docusign.net/API/3.0',
              'DeleteCaptiveRecipientsSignatures',
              'http://www.docusign.net/API/3.0',
              'DeleteCaptiveRecipientsSignaturesResponse',
              'DocuSignAPI.DeleteCaptiveRecipientsSignaturesResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.DeleteCaptiveRecipientsSignaturesResult;
        }
        public DocuSignAPI.PurgeDocumentStatus PurgeDocumentsAndMetaData(String EnvelopeID) {
            DocuSignAPI.PurgeDocumentsAndMetaData_element request_x = new DocuSignAPI.PurgeDocumentsAndMetaData_element();
            request_x.EnvelopeID = EnvelopeID;
            DocuSignAPI.PurgeDocumentsAndMetaDataResponse_element response_x;
            Map<String, DocuSignAPI.PurgeDocumentsAndMetaDataResponse_element> response_map_x = new Map<String, DocuSignAPI.PurgeDocumentsAndMetaDataResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/PurgeDocumentsAndMetaData',
              'http://www.docusign.net/API/3.0',
              'PurgeDocumentsAndMetaData',
              'http://www.docusign.net/API/3.0',
              'PurgeDocumentsAndMetaDataResponse',
              'DocuSignAPI.PurgeDocumentsAndMetaDataResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.PurgeDocumentsAndMetaDataResult;
        }
        public DocuSignAPI.EnvelopeStatus RequestStatus(String EnvelopeID) {
            DocuSignAPI.RequestStatus_element request_x = new DocuSignAPI.RequestStatus_element();
            request_x.EnvelopeID = EnvelopeID;
            DocuSignAPI.RequestStatusResponse_element response_x;
            Map<String, DocuSignAPI.RequestStatusResponse_element> response_map_x = new Map<String, DocuSignAPI.RequestStatusResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/RequestStatus',
              'http://www.docusign.net/API/3.0',
              'RequestStatus',
              'http://www.docusign.net/API/3.0',
              'RequestStatusResponse',
              'DocuSignAPI.RequestStatusResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.RequestStatusResult;
        }
        public DocuSignAPI.TransferEnvelopeStatus TransferEnvelope(String EnvelopeID,String AccountID,String UserID) {
            DocuSignAPI.TransferEnvelope_element request_x = new DocuSignAPI.TransferEnvelope_element();
            request_x.EnvelopeID = EnvelopeID;
            request_x.AccountID = AccountID;
            request_x.UserID = UserID;
            DocuSignAPI.TransferEnvelopeResponse_element response_x;
            Map<String, DocuSignAPI.TransferEnvelopeResponse_element> response_map_x = new Map<String, DocuSignAPI.TransferEnvelopeResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/TransferEnvelope',
              'http://www.docusign.net/API/3.0',
              'TransferEnvelope',
              'http://www.docusign.net/API/3.0',
              'TransferEnvelopeResponse',
              'DocuSignAPI.TransferEnvelopeResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.TransferEnvelopeResult;
        }
        public DocuSignAPI.ArrayOfEnvelopeAuditEvent EnvelopeAuditEventsV2(String EnvelopeId) {
            DocuSignAPI.EnvelopeAuditEventsV2_element request_x = new DocuSignAPI.EnvelopeAuditEventsV2_element();
            request_x.EnvelopeId = EnvelopeId;
            DocuSignAPI.EnvelopeAuditEventsV2Response_element response_x;
            Map<String, DocuSignAPI.EnvelopeAuditEventsV2Response_element> response_map_x = new Map<String, DocuSignAPI.EnvelopeAuditEventsV2Response_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/EnvelopeAuditEventsV2',
              'http://www.docusign.net/API/3.0',
              'EnvelopeAuditEventsV2',
              'http://www.docusign.net/API/3.0',
              'EnvelopeAuditEventsV2Response',
              'DocuSignAPI.EnvelopeAuditEventsV2Response_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.EnvelopeAuditEventsV2Result;
        }
        public DocuSignAPI.UpdateAddressBookResult UpdateAddressBookItems(DocuSignAPI.ArrayOfAddressBookItem AddressBookItems,Boolean ReturnAddressBook) {
            DocuSignAPI.UpdateAddressBookItems_element request_x = new DocuSignAPI.UpdateAddressBookItems_element();
            request_x.AddressBookItems = AddressBookItems;
            request_x.ReturnAddressBook = ReturnAddressBook;
            DocuSignAPI.UpdateAddressBookItemsResponse_element response_x;
            Map<String, DocuSignAPI.UpdateAddressBookItemsResponse_element> response_map_x = new Map<String, DocuSignAPI.UpdateAddressBookItemsResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/UpdateAddressBookItems',
              'http://www.docusign.net/API/3.0',
              'UpdateAddressBookItems',
              'http://www.docusign.net/API/3.0',
              'UpdateAddressBookItemsResponse',
              'DocuSignAPI.UpdateAddressBookItemsResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.UpdateAddressBookItemsResult;
        }
        public DocuSignAPI.FilteredEnvelopeStatusChanges RequestStatusCodes(DocuSignAPI.EnvelopeStatusFilter EnvelopeStatusFilter) {
            DocuSignAPI.RequestStatusCodes_element request_x = new DocuSignAPI.RequestStatusCodes_element();
            request_x.EnvelopeStatusFilter = EnvelopeStatusFilter;
            DocuSignAPI.RequestStatusCodesResponse_element response_x;
            Map<String, DocuSignAPI.RequestStatusCodesResponse_element> response_map_x = new Map<String, DocuSignAPI.RequestStatusCodesResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/RequestStatusCodes',
              'http://www.docusign.net/API/3.0',
              'RequestStatusCodes',
              'http://www.docusign.net/API/3.0',
              'RequestStatusCodesResponse',
              'DocuSignAPI.RequestStatusCodesResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.RequestStatusCodesResult;
        }
        public DocuSignAPI.BrandResults CreateAccountBrands(String AccountId,DocuSignAPI.BrandDefinitions BrandDefinitions) {
            DocuSignAPI.CreateAccountBrands_element request_x = new DocuSignAPI.CreateAccountBrands_element();
            request_x.AccountId = AccountId;
            request_x.BrandDefinitions = BrandDefinitions;
            DocuSignAPI.CreateAccountBrandsResponse_element response_x;
            Map<String, DocuSignAPI.CreateAccountBrandsResponse_element> response_map_x = new Map<String, DocuSignAPI.CreateAccountBrandsResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/CreateAccountBrands',
              'http://www.docusign.net/API/3.0',
              'CreateAccountBrands',
              'http://www.docusign.net/API/3.0',
              'CreateAccountBrandsResponse',
              'DocuSignAPI.CreateAccountBrandsResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.CreateAccountBrandsResult;
        }
        public DocuSignAPI.FilteredEnvelopeStatuses RequestStatusesWithDocumentFields(DocuSignAPI.EnvelopeStatusFilter EnvelopeStatusFilter) {
            DocuSignAPI.RequestStatusesWithDocumentFields_element request_x = new DocuSignAPI.RequestStatusesWithDocumentFields_element();
            request_x.EnvelopeStatusFilter = EnvelopeStatusFilter;
            DocuSignAPI.RequestStatusesWithDocumentFieldsResponse_element response_x;
            Map<String, DocuSignAPI.RequestStatusesWithDocumentFieldsResponse_element> response_map_x = new Map<String, DocuSignAPI.RequestStatusesWithDocumentFieldsResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/RequestStatusesWithDocumentFields',
              'http://www.docusign.net/API/3.0',
              'RequestStatusesWithDocumentFields',
              'http://www.docusign.net/API/3.0',
              'RequestStatusesWithDocumentFieldsResponse',
              'DocuSignAPI.RequestStatusesWithDocumentFieldsResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.RequestStatusesWithDocumentFieldsResult;
        }
        public DocuSignAPI.AccountSettingsList GetAccountSettingsList(String AccountId) {
            DocuSignAPI.GetAccountSettingsList_element request_x = new DocuSignAPI.GetAccountSettingsList_element();
            request_x.AccountId = AccountId;
            DocuSignAPI.GetAccountSettingsListResponse_element response_x;
            Map<String, DocuSignAPI.GetAccountSettingsListResponse_element> response_map_x = new Map<String, DocuSignAPI.GetAccountSettingsListResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/GetAccountSettingsList',
              'http://www.docusign.net/API/3.0',
              'GetAccountSettingsList',
              'http://www.docusign.net/API/3.0',
              'GetAccountSettingsListResponse',
              'DocuSignAPI.GetAccountSettingsListResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.GetAccountSettingsListResult;
        }
        public String RequestCorrectToken(String EnvelopeID,Boolean SuppressNavigation,String ReturnURL) {
            DocuSignAPI.RequestCorrectToken_element request_x = new DocuSignAPI.RequestCorrectToken_element();
            request_x.EnvelopeID = EnvelopeID;
            request_x.SuppressNavigation = SuppressNavigation;
            request_x.ReturnURL = ReturnURL;
            DocuSignAPI.RequestCorrectTokenResponse_element response_x;
            Map<String, DocuSignAPI.RequestCorrectTokenResponse_element> response_map_x = new Map<String, DocuSignAPI.RequestCorrectTokenResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/RequestCorrectToken',
              'http://www.docusign.net/API/3.0',
              'RequestCorrectToken',
              'http://www.docusign.net/API/3.0',
              'RequestCorrectTokenResponse',
              'DocuSignAPI.RequestCorrectTokenResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.RequestCorrectTokenResult;
        }
        public DocuSignAPI.BrandResults DeleteAccountBrands(String AccountId,DocuSignAPI.BrandDeleteRequest BrandDeleteRequest) {
            DocuSignAPI.DeleteAccountBrands_element request_x = new DocuSignAPI.DeleteAccountBrands_element();
            request_x.AccountId = AccountId;
            request_x.BrandDeleteRequest = BrandDeleteRequest;
            DocuSignAPI.DeleteAccountBrandsResponse_element response_x;
            Map<String, DocuSignAPI.DeleteAccountBrandsResponse_element> response_map_x = new Map<String, DocuSignAPI.DeleteAccountBrandsResponse_element>();
            response_map_x.put('response_x', response_x);
            WebServiceCallout.invoke(
              this,
              request_x,
              response_map_x,
              new String[]{endpoint_x,
              'http://www.docusign.net/API/3.0/DeleteAccountBrands',
              'http://www.docusign.net/API/3.0',
              'DeleteAccountBrands',
              'http://www.docusign.net/API/3.0',
              'DeleteAccountBrandsResponse',
              'DocuSignAPI.DeleteAccountBrandsResponse_element'}
            );
            response_x = response_map_x.get('response_x');
            return response_x.DeleteAccountBrandsResult;
        }
    }
}
  • Create “GetPDFController” class to fetch the signed document back into Salesforce from DocuSign.
public class GetPDFController {
    public Boolean documentReceived {get; set;}
    
    private static String userId = '1fe19cb0-6202-4b48-8319-ba6366601b50';//userId from DocuSign
	private static String password = 'Feb@2020';//Login Password
	private static String integratorsKey = '3f6bd65e-e436-459a-9164-63bf86f86784';//integratorsKey from DocuSign
    private static String webServiceUrl = 'https://demo.docusign.net/api/3.0/dsapi.asmx';
    
    public static void getNow(Contract contract) {
        DocuSignAPI.DSAPIServiceSoap dsApiGet = new DocuSignAPI.DSAPIServiceSoap();
        dsApiGet.endpoint_x = webServiceUrl;
        
        //Set Authentication
        String auth = '<DocuSignCredentials><Username>'+ userId 
            +'</Username><Password>' + password 
            + '</Password><IntegratorKey>' + integratorsKey 
            + '</IntegratorKey></DocuSignCredentials>';
        System.debug('Setting authentication to: ' + auth);
        
        dsApiGet.inputHttpHeaders_x = new Map<String, String>();
        dsApiGet.inputHttpHeaders_x.put('X-DocuSign-Authentication', auth);
        
        if (contract != null && contract.DocuSignEnvelopId__c != null) {
            String strEnvelopId = contract.DocuSignEnvelopId__c;
            
            DocuSignAPI.DocumentPDFs docPDF = dsApiGet.RequestDocumentPDFs(strEnvelopId);
            system.debug('docPDF.DocumentPDF[0] @@@@ ' + docPDF.DocumentPDF[0]);
            
            Attachment attachment = new Attachment();
            attachment.Name       = docPDF.DocumentPDF[0].Name + '.pdf';
            //attachment.Body       = Blob.valueOf(docPDF.DocumentPDF[0].PDFBytes);
            attachment.Body       = EncodingUtil.base64Decode(docPDF.DocumentPDF[0].PDFBytes);
            attachment.ParentId   = contract.Id;
            //attachment.ContentType = 'PDF';
            insert attachment;
        }
    }
}
  • Create “DocuSignNotificationManager” rest service class to handle automatic reply from DocuSign.
@RestResource(urlMapping='/DocuSignNotification__c/*')
global with sharing class DocuSignNotificationManager {
    
    @HttpPost
    global static void createDocuSignNotification() {
        
        List<Contract> lstContr = [SELECT Id, DocuSignEnvelopId__c FROM Contract WHERE Id = '8006g000000DPeu'];//8006g000000DMtjAAG
        GetPDFController.getNow(lstContr[0]);
    }
}
  • To handle response of the call-out to DocuSign, we have to create “ResponseSignatureOnSingleDoc” class
public class ResponseSignatureOnSingleDoc {

	public String envelopeId;
	public String status;
	public String statusDateTime;
	public String uri;

	
	public static ResponseSignatureOnSingleDoc parse(String json) {
		return (ResponseSignatureOnSingleDoc) System.JSON.deserialize(json, ResponseSignatureOnSingleDoc.class);
	}
}
  • Create a class to make callout to DocuSign to send document for signing. Before creating the class,
    1. we will register the DocuSign endpoint in Remote Site Setting.
    2. Create a public site.
    3. Map our service class with this public site.

While creating a new site, it requests for an active site home page. Create a simple VF page for it.

VF page to use as Active Site Home Page
Enter site details and hit Save
Activate the site
Click “Public Access Settings”
Provide access to the service class.
  • Now we will create the class to make call-out to DocuSign to send document from Salesforce
public class DocuSignCallout {
    
    public Boolean codeReceived {get; set;}
    public Boolean tokenReceived {get; set;}
    public Boolean envelopeReceived {get; set;}
    public String authCode {get; set;}
    public String authToken {get; set;}
    public String tokenType {get; set;}
    public String refreshToken {get; set;}
    public String expiresIn {get; set;}
    
    public String envelopeId {get; set;}
    public String envelopeStatus {get; set;}
    public String statusDateTime {get; set;}
    public String strURI {get; set;}
    //For the time being hard coding following values
    private Final String accountId             = '5946e491-6087-400a-8986-b2432ab2728b';//From DocuSign
    private Final String integratorsKey        = '3f6bd65e-e436-459a-9164-63bf86f86784';//From DocuSign
    private Final String secretKey             = '223e2376-5f7e-41e1-92ff-816cfeeab8b3';//From DocuSign
    public Final String docuSignAuthUrl        = 'https://account-d.docusign.com/oauth/auth?';
    public Final String accessTokenEndpoint    = 'https://account-d.docusign.com/oauth/token';
    public Final String createEnvelopeEndpoint = 'https://demo.docusign.net/restapi/v2/accounts/5946e491-6087-400a-8986-b2432ab2728b/envelopes';
    private String redirectURI                 = 'https://sathi-dev-ed--c.visualforce.com/apex/DocuSignRedirect';
    
    public DocuSignCallout() {
        if (ApexPages.currentPage().getParameters().containsKey('code')) {
            authCode = ApexPages.currentPage().getParameters().get('code');
            if (authCode != null) {
                codeReceived = true;
            }
        }
    }
    
    public PageReference doGetAuthCode() {
        String requestoAuthURL = docuSignAuthUrl + 'response_type=code&client_id='+integratorsKey+'&redirect_uri='+redirectURI;
        PageReference pageRef  = new PageReference(requestoAuthURL);
        
        return pageRef;
    }
    
    public void doGetAuthToken() {
        Http http           = new Http();
        HttpRequest httpReq = new HttpRequest();
        HttpResponse httpRes = new HttpResponse();
        
        String authorization    = 'Basic ' + EncodingUtil.base64Encode(Blob.valueOf(integratorsKey + ':' + secretKey));
        String requestTokenBody = 'grant_type=authorization_code&code=' + authCode + '&redirect_uri=' + redirectURI;
        String errorMessage = '';
        
        httpReq.setMethod('POST');
        httpReq.setEndpoint(accessTokenEndpoint);
        httpReq.setHeader('Content-Type', 'application/x-www-form-urlencoded');
        httpReq.setHeader('Authorization', authorization);
        httpReq.setBody(requestTokenBody);
        
        try{
            httpRes = http.send(httpReq);
            if(httpRes.getStatusCode() == 200){
                Map<String, Object> TokenInfo = (Map<String, Object>)JSON.deserializeUntyped(httpRes.getBody());
                system.debug('TokenInfo @@@@ ' + TokenInfo);
                authToken    = String.valueOf(TokenInfo.get('access_token'));
                system.debug('authToken @@@@ ' + authToken);
                tokenType    = String.valueOf(TokenInfo.get('token_type'));
                refreshToken = String.valueOf(TokenInfo.get('refresh_token'));
                expiresIn    = String.valueOf(TokenInfo.get('expires_in'));
                
                if (authToken != null) {
                    tokenReceived = true;
                }
            }
        }
        catch(Exception e) {
            system.debug('Exception --> ' + e.getMessage());
        }   
    }
    
    public void createAndSendEnvelope() {
        PageReference pageRef = new PageReference('/apex/RenderContract');
		pageRef.getParameters().put('Id', '8006g000000DPeu'); //For the time being hard coding the Contract Id 8006g000000DMtjAAG
     	Blob pdfBlob = pageRef.getContent();
        
        RequestSignatureOnSingleDocument.Documents doc = new RequestSignatureOnSingleDocument.Documents();
        doc.documentBase64 = EncodingUtil.base64Encode(pdfBlob);
        doc.documentId = '1';
        doc.fileExtension = 'pdf';
        doc.name = 'Contract';
        
        RequestSignatureOnSingleDocument rsosd = new RequestSignatureOnSingleDocument();
        rsosd.emailSubject = 'Please Sign this Contract: ';
        rsosd.status = 'sent';
        rsosd.recipients = createRecipient();
        rsosd.eventNotification = createEventNotification();
        rsosd.documents = new List<RequestSignatureOnSingleDocument.Documents>();
        rsosd.documents.add(doc);
        
        Http http           = new Http();
        HttpRequest httpReq = new HttpRequest();
        HttpResponse httpRes = new HttpResponse();
        
        String strAuthorization = 'Bearer ' + authToken;
        httpReq.setMethod('POST');
        httpReq.setEndpoint(createEnvelopeEndpoint);
        httpReq.setHeader('Content-Type', 'application/json;charset=UTF-8');
        httpReq.setHeader('Authorization', strAuthorization);
        httpReq.setBody(JSON.serialize(rsosd));
        
        try{
            httpRes = http.send(httpReq);
            if(httpRes.getStatusCode() == 201) {
                ResponseSignatureOnSingleDoc resp = ResponseSignatureOnSingleDoc.parse(String.valueOf(httpRes.getBody()));
                
                envelopeId     = resp.envelopeId;
                envelopeStatus = resp.status;
                statusDateTime = resp.statusDateTime;
                strURI         = resp.uri;
                
                envelopeReceived = true;
                
                List<Contract> lstContr = [SELECT Id, DocuSignEnvelopId__c FROM Contract WHERE Id = '8006g000000DPeu'];//8006g000000DMtjAAG
                lstContr[0].DocuSignEnvelopId__c = envelopeId;
                update lstContr;
            }
            else {
                system.debug('Status Code --> ' + httpRes.getStatusCode());
                system.debug('Status Body --> ' + httpRes.getBody());
            }
        }
        catch(Exception e) {
            system.debug('Exception --> ' + e.getMessage());
        }
    }
    
    public RequestSignatureOnSingleDocument.Recipients createRecipient() {
        RequestSignatureOnSingleDocument.Recipients recipient = new RequestSignatureOnSingleDocument.Recipients();
        
        RequestSignatureOnSingleDocument.SignHereTabs signHereTab    = new RequestSignatureOnSingleDocument.SignHereTabs();
        //signHereTab.anchorString  = 'signer1sig';//
        signHereTab.anchorString  = 'By:';
        signHereTab.anchorUnits   = 'mms';
        signHereTab.anchorXOffset = '0';
        signHereTab.anchorYOffset = '0';
        //signHereTab.name          = 'Please sign here';
        signHereTab.name          = 'SignHere';
        signHereTab.optional      = 'false';
        signHereTab.recipientId   = '1';
        signHereTab.scaleValue    = 1;
        //signHereTab.tabLabel      = 'signer1sig';
        signHereTab.tabLabel      = 'SignHere';
        
        RequestSignatureOnSingleDocument.DateSignedTabs dateSignedTab = new RequestSignatureOnSingleDocument.DateSignedTabs();
        //dateSignedTab.anchorString  = 'signer1date';
        dateSignedTab.anchorString  = 'DateSigned:';
        dateSignedTab.anchorYOffset = '-6';
        dateSignedTab.fontSize      = 'Size12';
        //dateSignedTab.name          = 'Date Signed';
        dateSignedTab.name          = 'DateSigned';
        dateSignedTab.recipientId   = '1';
        //dateSignedTab.tabLabel      = 'date_signed';
        dateSignedTab.tabLabel      = 'DateSigned';
        
        RequestSignatureOnSingleDocument.DateSignedTabs fullNameTab   = new RequestSignatureOnSingleDocument.DateSignedTabs();
        fullNameTab.anchorString  = 'signer1date';
        fullNameTab.anchorYOffset = '-6';
		fullNameTab.fontSize      = 'Size12';
        fullNameTab.name          = 'Full Name';
        fullNameTab.recipientId   = '1';
        fullNameTab.tabLabel      = 'Full Name';
        
        RequestSignatureOnSingleDocument.Tabs tab = new RequestSignatureOnSingleDocument.Tabs();
        tab.dateSignedTabs = new List<RequestSignatureOnSingleDocument.DateSignedTabs>();
        tab.fullNameTabs   = new List<RequestSignatureOnSingleDocument.DateSignedTabs>();
        tab.signHereTabs   = new List<RequestSignatureOnSingleDocument.SignHereTabs>();
        
        tab.dateSignedTabs.add(dateSignedTab);
        //tab.fullNameTabs.add(fullNameTab);
        tab.signHereTabs.add(signHereTab);
        
        RequestSignatureOnSingleDocument.Signers signer = new RequestSignatureOnSingleDocument.Signers();
        signer.email = 'sathipal.rbu@gmail.com'; //For the time being hard coding
        signer.name  = 'Sathi Pal'; //For the time being hard coding
        signer.recipientId = '1';
        signer.routingOrder = '1';
        signer.tabs = tab;
        
        recipient.signers = new List<RequestSignatureOnSingleDocument.Signers>();
        recipient.signers.add(signer);
        
        return recipient;
    }
    
    public EventNotification createEventNotification() {
        EventNotification evtNotification               = new EventNotification();
        EventNotification.EnvelopeEvent envelopeEvt1    = new EventNotification.EnvelopeEvent();
        EventNotification.EnvelopeEvent envelopeEvt2    = new EventNotification.EnvelopeEvent();
        EventNotification.EnvelopeEvent envelopeEvt3    = new EventNotification.EnvelopeEvent();
        EventNotification.EnvelopeEvent envelopeEvt4    = new EventNotification.EnvelopeEvent();
        EventNotification.EnvelopeEvent envelopeEvt5    = new EventNotification.EnvelopeEvent();
        EventNotification.RecipientEvent recipientEvt1  = new EventNotification.RecipientEvent();
        EventNotification.RecipientEvent recipientEvt2  = new EventNotification.RecipientEvent();
        EventNotification.RecipientEvent recipientEvt3  = new EventNotification.RecipientEvent();
        EventNotification.RecipientEvent recipientEvt4  = new EventNotification.RecipientEvent();
        EventNotification.RecipientEvent recipientEvt5  = new EventNotification.RecipientEvent();
        EventNotification.RecipientEvent recipientEvt6  = new EventNotification.RecipientEvent();
        
        envelopeEvt1.envelopeEventStatusCode = 'sent';
        envelopeEvt2.envelopeEventStatusCode = 'delivered';
        envelopeEvt3.envelopeEventStatusCode = 'completed';
        envelopeEvt4.envelopeEventStatusCode = 'declined';
        envelopeEvt5.envelopeEventStatusCode = 'voided';
        
        recipientEvt1.recipientEventStatusCode = 'Sent';
        recipientEvt2.recipientEventStatusCode = 'Delivered';
        recipientEvt3.recipientEventStatusCode = 'Completed';
        recipientEvt4.recipientEventStatusCode = 'Declined';
        recipientEvt5.recipientEventStatusCode = 'AuthenticationFailed';
        recipientEvt6.recipientEventStatusCode = 'AutoResponded';
        
        evtNotification.envelopeEvents = new List<EventNotification.EnvelopeEvent>();
        evtNotification.envelopeEvents.add(envelopeEvt1);
        evtNotification.envelopeEvents.add(envelopeEvt2);
        evtNotification.envelopeEvents.add(envelopeEvt3);
        evtNotification.envelopeEvents.add(envelopeEvt4);
        evtNotification.envelopeEvents.add(envelopeEvt5);
        
        evtNotification.recipientEvents = new List<EventNotification.RecipientEvent>();
        evtNotification.recipientEvents.add(recipientEvt1);
        evtNotification.recipientEvents.add(recipientEvt2);
        evtNotification.recipientEvents.add(recipientEvt3);
        evtNotification.recipientEvents.add(recipientEvt4);
        evtNotification.recipientEvents.add(recipientEvt5);
        evtNotification.recipientEvents.add(recipientEvt6);
        
        //sathidocusign-developer-edition.ap16.force.com --> public site url
        evtNotification.url = 'https://sathidocusign-developer-edition.ap16.force.com/services/apexrest/DocuSignNotification__c/'; //For the time being hard coding
        evtNotification.loggingEnabled = 'true';
        evtNotification.requireAcknowledgment = 'true';
        evtNotification.useSoapInterface = 'false';
        evtNotification.includeCertificateWithSoap = 'false';
        evtNotification.signMessageWithX509Cert = 'false';
        evtNotification.includeDocuments = 'true';
        evtNotification.includeEnvelopeVoidReason = 'true';
        evtNotification.includeTimeZone = 'true';
        evtNotification.includeSenderAccountAsCustomField = 'true';
        evtNotification.includeDocumentFields = 'true';
        evtNotification.includeCertificateOfCompletion = 'true';
        
        return evtNotification;
    }
}
  • Now we will modify the “DocuSignRedirect” VF page, which will be our UI.
<apex:page controller="DocuSignCallout">
    <apex:form >
        <apex:pageBlock >
            <apex:pageBlockSection columns="1">
                <b>Authorization Code</b>
            </apex:pageBlockSection>
            <apex:pageBlockSection columns="1">
                <apex:commandButton value="Get Auth Code" action="{!doGetAuthCode}" disabled="{!codeReceived}" />
                <br />
                {!authCode}
            </apex:pageBlockSection>
            
            <apex:pageBlockSection columns="1">
                <b>Auth Token</b>
            </apex:pageBlockSection>
            <apex:pageBlockSection columns="1">
                <apex:commandButton value="Get Auth Token" action="{!doGetAuthToken}" disabled="{!tokenReceived}" />
                <br />
                <b>Token :</b> {!authToken}
                <br />
                <b>Token Type :</b> {!tokenType}
                <br/>
                <b>Refresh Token :</b> {!refreshToken}
                <br />
                <b>Expires In :</b> {!expiresIn}
            </apex:pageBlockSection>
            
            <apex:pageBlockSection columns="1">
                <b>Envelop Info</b>
            </apex:pageBlockSection>
            <apex:pageBlockSection columns="1">
                <apex:commandButton value="Create And Send Envelope" action="{!createAndSendEnvelope}" disabled="{!envelopeReceived}" />
                <br />
                <b>Envelope Id :</b> {!envelopeId}
                <br />
                <b>Envelope Status :</b> {!envelopeStatus}
                <br/>
                <b>Status DateTime :</b> {!statusDateTime}
                <br />
                <b>URI :</b> {!strURI}
            </apex:pageBlockSection>
        </apex:pageBlock>
    </apex:form>
</apex:page>

To generate the PDF document, we need to create a VF page. Hence we will create “RenderContract” VF page.

<apex:page renderAs="pdf" standardController="Contract">
    <apex:detail relatedList="true" title="true"/>
    <div style='clear:right;margin-top:50px'>
        <div style='float:right'>____________________________________</div>
        <div style='float:right'>By:</div>
    </div>
    <div style='clear:right;margin-top:50px'>
        <div style='float:right'>____________________________________</div>
        <div style='float:right'>Date Signed:</div>
    </div>
</apex:page>

Following video shows how it works….