问题
When I send a SOAP request to DocuSign it is showing an error: This Account lacks sufficient permissions. In-Session permission required when specifying a captive recipient.
Full response XML is:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>http://schemas.xmlsoap.org/ws/2004/08/addressing/fault</wsa:Action>
<wsa:MessageID>urn:uuid:9f406870-dc55-441d-b5ff-8317166636b9</wsa:MessageID>
<wsa:RelatesTo>urn:uuid:b572d1a4-b8b5-4254-8f1d-7fd46fb593f1</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-656764ea-c0f0-4074-88b1-dbffae666a83">
<wsu:Created>2013-08-01T18:00:46Z</wsu:Created>
<wsu:Expires>2013-08-01T18:05:46Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<soap:Fault>
<faultcode>soap:Client</faultcode>
<faultstring>This Account lacks sufficient permissions. In-Session permission required when specifying a captive recipient.</faultstring>
<faultactor>https://www.docusign.net/api/3.0/dsapi.asmx</faultactor>
<detail>
<ErrorCode xmlns="missing in Web.Config">111</ErrorCode>
<ErrorReason xmlns="missing in Web.Config">This Account lacks sufficient permissions.</ErrorReason>
</detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>
A request we send is:
User-Agent: SFDC-Callout/28.0
X-DocuSign-Authentication: <DocuSignCredentials><Username>There is a user name</Username><Password>There is a password</Password><IntegratorKey>There is an integrator key</IntegratorKey></DocuSignCredentials>
Accept: text/xml
Content-Type: text/xml
charset: UTF-8
SOAPAction: "http://www.docusign.net/API/3.0/CreateAndSendEnvelope"
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Header />
<env:Body>
<CreateAndSendEnvelope xmlns="http://www.docusign.net/API/3.0">
<Envelope>
<AccountId>There is an accountId</AccountId>
<Documents>
<Document>
<ID>1</ID>
<Name>Bayfront - Smoke free environment form - Antony.pdf</Name>
<PDFBytes>There is an encoded body</PDFBytes>
<FileExtension>pdf</FileExtension>
</Document>
</Documents>
<Recipients>
<Recipient>
<ID>1</ID>
<UserName>mikhail</UserName>
<Email>mikhail.ivanov@targetrecruit.net</Email>
<Type>Signer</Type>
<AccessCode xsi:nil="true" />
<RequireIDLookup>false</RequireIDLookup>
<CaptiveInfo>
<ClientUserId>1</ClientUserId>
</CaptiveInfo>
<RoutingOrder>1</RoutingOrder>
<RoleName>Signer</RoleName>
</Recipient>
</Recipients>
<Tabs />
<Subject>Please Sign this Document: </Subject>
<EmailBlurb>This is my new eSignature service, it allows me to get your signoff without having to fax, scan, retype, refile and wait forever</EmailBlurb>
<CustomFields>
<CustomField>
<Name>DSFSSourceObjectId</Name>
<Show>false</Show>
<Required>false</Required>
<Value>Credential ID</Value>
</CustomField>
</CustomFields>
</Envelope>
</CreateAndSendEnvelope>
</env:Body>
</env:Envelope>
What can be the reason? How should I fix it?
回答1:
DocuSign developer sandboxes have this enabled by default so you can test Embedded Signing (and sending, etc) before going live.
In terms of live production accounts- not all accounts have embedding enabled so ensure you have purchased an account that has it. If you are getting this error in production you most likely need to upgrade.
来源:https://stackoverflow.com/questions/18002360/docusign-error-this-account-lacks-sufficient-permissions-in-session-permission