“此帐户缺乏足够的权限”DocuSign

时间:2012-03-22 20:33:36

标签: php api soap docusignapi

不确定这里有多少人使用docusign,但我发送信封并发送信封并在发送此xml文件时发送到docusign时遇到了一些问题

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.docusign.net/API/3.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
    <SOAP-ENV:Header>
        <wsa:Action>http://www.docusign.net/API/3.0/CreateAndSendEnvelope</wsa:Action>
        <wsa:To>https://demo.docusign.net/api/3.0/api.asmx</wsa:To>
        <wsa:MessageID>uudi:1e1929b6-2adc-ed07-413f-4e766500ef88</wsa:MessageID>
        <wsa:ReplyTo>
            <wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address>
        </wsa:ReplyTo>
        <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" SOAP-ENV:mustUnderstand="1">
            <wsu:Timestamp xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
                <wsu:Created>2012-03-22T20:18:07Z</wsu:Created>
                <wsu:Expires>2012-03-22T20:23:07Z</wsu:Expires>
            </wsu:Timestamp>
            <wsse:UsernameToken>
                <wsse:Username>87a3ac71-f806-4eff-ad67-7f39e5cfac42</wsse:Username>
                <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">testpasword</wsse:Password>
                <wsse:Nonce>CiT5a2eGKY/o6OfdfdJHQA31rslk3Z4xrLxHYyUMC4p4=</wsse:Nonce>
                <wsu:Created xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">2012-03-22T20:18:07Z</wsu:Created>
            </wsse:UsernameToken>
        </wsse:Security>
    </SOAP-ENV:Header>
    <SOAP-ENV:Body>
        <ns1:CreateAndSendEnvelope>
            <ns1:Envelope>
                <ns1:AccountId>4dfg3432-4331-49d5-8ca0-2c431f6b376</ns1:AccountId>
                <ns1:Documents>
                    <ns1:Document>
                        <ns1:ID>1</ns1:ID>
                        <ns1:Name>Document</ns1:Name>
                    </ns1:Document>
                </ns1:Documents>
                <ns1:Recipients>
                    <ns1:Recipient>
                        <ns1:ID>1</ns1:ID>
                        <ns1:UserName>Company Name</ns1:UserName>
                        <ns1:Email>anthony.gordon@email.com</ns1:Email>
                        <ns1:Type>Signer</ns1:Type>
                        <ns1:AccessCode xsi:nil="true" />
                        <ns1:RequireIDLookup>false</ns1:RequireIDLookup>
                    </ns1:Recipient>
                </ns1:Recipients>
                <ns1:Tabs>
                    <ns1:Tab>
                        <ns1:DocumentID>1</ns1:DocumentID>
                        <ns1:RecipientID>1</ns1:RecipientID>
                        <ns1:PageNumber>1</ns1:PageNumber>
                        <ns1:XPosition>100</ns1:XPosition>
                        <ns1:YPosition>100</ns1:YPosition>
                        <ns1:Type>SignHere</ns1:Type>
                    </ns1:Tab>
                </ns1:Tabs>
                <ns1:Subject>Test message</ns1:Subject>
                <ns1:EmailBlurb>personal message to send</ns1:EmailBlurb>
            </ns1:Envelope>
        </ns1:CreateAndSendEnvelope>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

我收到以下错误

Uncaught SoapFault exception: [soap:Client] This Account lacks sufficient permissions

这是docusign发送给我的返回消息。是的我创建了一个模拟账户。 我正在学习本教程

https://github.com/docusign/DocuSign-eSignature-SDK/wiki/Code-Walkthrough-_-Create-And-Send-Envelope

我注意到教程没有传递集成键。这可能是原因

1 个答案:

答案 0 :(得分:5)

想出来,在启动教程中没有提到。有一件事是至关重要的,你必须将密钥附加到用户名,密钥必须在括号内

$api->setCredentials("[".$key."]".$username, $password);