Java Requires Chilkat v11.0.0+
Chilkat2 Java
Send DocuSign XML Request
See more HTTP Misc Examples
Demonstrates how to send a DocuSign XML request.Chilkat Java Downloads
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Http;
import com.chilkatsoft.chilkat2.HttpRequest;
import com.chilkatsoft.chilkat2.HttpResponse;
import com.chilkatsoft.chilkat2.Xml;
public class ChilkatExample {
public static void main(String[] args) {
// This requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
HttpRequest req = new HttpRequest();
req.setHttpVerb("POST");
// Replace "12999999" with your own account number. (12999999 is a ficticious account number)
req.setPath("/restapi/v2/accounts/12999999/envelopes");
req.addHeader("Accept", "application/xml");
// Don't worry about the boundary string. Chilkat will automatically generate one and include it.
req.setContentType("multipart/form-data");
Xml xmlCred = new Xml();
xmlCred.setTag("DocuSignCredentials");
xmlCred.updateChildContent("Username", "YOUR_DOCUSIGN_USERNAME");
xmlCred.updateChildContent("Password", "YOUR_DOCUSIGN_PASSWORD");
xmlCred.updateChildContent("IntegratorKey", "ABCD-12345678-1234-AAAA-BBBB-abcdabcdabcd");
xmlCred.setEmitXmlDecl(false);
xmlCred.setEmitCompact(true);
req.addHeader("X-DocuSign-Authentication", xmlCred.getXml());
// Don't worry about Host or Content-Length headers, Chilkat automatically adds them...
// Build the XML for the 1st body part..
Xml xml = new Xml();
xml.setTag("envelopeDefinition");
xml.addAttribute("xmlns", "http://www.docusign.com/restapi");
xml.updateChildContent("emailSubject", "Signature Request: Test Test:001019:033611");
xml.updateChildContent("status", "sent");
xml.updateChildContent("documents|document|documentId", "1");
xml.updateChildContent("documents|document|name", "001019_TestTest_RetailDeals_163357");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner|hostEmail", "admin@chilkatsoft.com");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner|hostName", "Chilkat Admin");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner|signerName", "Test Test");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner|recipientId", "1");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner|routingOrder", "1");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner|signerEmail", "test@tyest.com");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere|anchorIgnoreIfNotPresent", "True");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere|anchorString", "\\SDP");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere|optional", "False");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere[1]|anchorIgnoreIfNotPresent", "True");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere[1]|anchorString", "\\OSDP");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere[1]|optional", "True");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere[2]|anchorIgnoreIfNotPresent", "True");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere[2]|anchorString", "\\OPSSDP");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere[2]|optional", "True");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere[2]|scaleValue", "0.7");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere[3]|anchorIgnoreIfNotPresent", "True");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere[3]|anchorString", "\\PSSDP");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere[3]|optional", "False");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere[3]|scaleValue", "0.7");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere|anchorIgnoreIfNotPresent", "True");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere|anchorString", "\\IDP");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere|optional", "False");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere[1]|anchorIgnoreIfNotPresent", "True");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere[1]|anchorString", "\\OIDP");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere[1]|optional", "True");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere[2]|anchorIgnoreIfNotPresent", "True");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere[2]|anchorString", "\\OPSIDP");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere[2]|optional", "True");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere[2]|scaleValue", "0.5");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere[3]|anchorIgnoreIfNotPresent", "True");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere[3]|anchorString", "\\PSIDP");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere[3]|optional", "False");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere[3]|scaleValue", "0.5");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner[1]|hostEmail", "admin@chilkatsoft.com");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner[1]|hostName", "Chilkat Admin");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner[1]|signerName", "Dealer Representative");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner[1]|recipientId", "2");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner[1]|routingOrder", "2");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner[1]|tabs|signHereTabs|signHere|anchorIgnoreIfNotPresent", "True");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner[1]|tabs|signHereTabs|signHere|anchorString", "\\DSDP");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner[1]|tabs|signHereTabs|signHere|optional", "False");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner[1]|tabs|signHereTabs|signHere[1]|anchorIgnoreIfNotPresent", "True");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner[1]|tabs|signHereTabs|signHere[1]|anchorString", "\\DOSDP");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner[1]|tabs|signHereTabs|signHere[1]|optional", "True");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner[1]|tabs|initialHereTabs|initialHere|anchorIgnoreIfNotPresent", "True");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner[1]|tabs|initialHereTabs|initialHere|anchorString", "\\DIDP");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner[1]|tabs|initialHereTabs|initialHere|optional", "False");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner[1]|tabs|initialHereTabs|initialHere[1]|anchorIgnoreIfNotPresent", "True");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner[1]|tabs|initialHereTabs|initialHere[1]|anchorString", "\\DOIDP");
xml.updateChildContent("recipients|inPersonSigners|inPersonSigner[1]|tabs|initialHereTabs|initialHere[1]|optional", "True");
xml.setEmitXmlDecl(false);
System.out.println(xml.getXml());
xml.setEmitCompact(true);
req.addStringForUpload2("", "", xml.getXml(), "utf-8", "application/xml");
req.addFileForUpload2("", "qa_data/pdf/signatureForm.pdf", "application/pdf");
req.addSubHeader(1, "Content-Disposition", "file; filename=\"signatureForm.pdf\";documentid=1");
Http http = new Http();
http.setSessionLogFilename("qa_output/log.txt");
HttpResponse resp = new HttpResponse();
try {
http.httpSReq("na2.docusign.net", 443, true, req, resp);
} catch (ChilkatException e) {
System.out.println(e.getLastErrorText());
return;
}
if (resp.getStatusCode() != 201) {
System.out.println(resp.getBodyStr());
System.out.println("Response status code: " + resp.getStatusCode());
System.out.println("Failed.");
return;
}
// Examine the response..
xml.loadXml(resp.getBodyStr());
String envelopeId = xml.getChildContent("envelopeId");
System.out.println("envelopeId = " + envelopeId);
String status = xml.getChildContent("status");
System.out.println("status = " + status);
String statusDateTime = xml.getChildContent("statusDateTime");
System.out.println("statusDateTime = " + statusDateTime);
String uri = xml.getChildContent("uri");
System.out.println("uri = " + uri);
}
}