我正在以xml格式进行API调用。使用url作为http://www.docusign.net/restapi/v2/login_information和生产凭据详细信息,我要检索accountID和Baseurl,然后尝试以xml格式(如下所示
)请求信封结果string requestBody =“ http://www.docusign.com/restapi \”>“ +
"<accountId>" + accountId + "</accountId>" +
"<status>sent</status>" +
"<emailSubject>API Call for Embedded Sending</emailSubject>" +
"<emailBlurb>This comes from C#</emailBlurb>" +
"<templateId>" + templateId + "</templateId>" +
"<templateRoles>" +
"<templateRole>" +
"<email>" + username + "</email>" + // NOTE: Use different email address if username provided in non-email format!
"<name>Name</name>" + // username can be in email format or an actual ID string
"<roleName>" + roleName + "</roleName>" +
"</templateRole>" +
"</templateRoles>" +
"</envelopeDefinition>";
然后我要拨打电话
request =(HttpWebRequest)WebRequest.Create(baseURL +“ / envelopes”);
request.Headers.Add("X-DocuSign-Authentication", authenticateStr);
request.ContentType = "application/xml";
request.Accept = "application/xml";
request.ContentLength = requestBody.Length;
request.Method = "POST";
// write the body of the request
byte[] body = System.Text.Encoding.UTF8.GetBytes(requestBody);
Stream dataStream = request.GetRequestStream();
dataStream.Write(body, 0, requestBody.Length);
dataStream.Close();
// read the response
webResponse = (HttpWebResponse)request.GetResponse();
在最后一行,它给出了400错误的错误请求。
这对于模拟帐户可以正常工作,但是在生产帐户中会出现400错误。谢谢所有尝试帮助我的人。
答案 0 :(得分:0)
如果您的代码在演示环境中运行,但在生产环境中失败,则可能与身份验证相关,或与您的帐户设置相关(在演示或产品中)。我怀疑这与auth有关。
我看到您正在使用/login_information
端点使用较旧的旧式身份验证。在演示中提出登录请求时,baseUrl始终为demo.docusign.net
,因为那是该环境中的唯一子域。
但是,根据生产帐户的位置以及其他一些因素,对于生产而言,您的帐户可能存在于多个子域之一中。我看到您将www.docusign.net
用于生产端点,这对于Login API而言是正确的,但是集成需要做的是解析响应中返回的baseUrl
并使用THAT作为核心基础API请求。
例如,您的生产帐户可能位于以下域之一中:
na2.docusign.net
na3.docusign.net
eu.docusign.net
...
再次验证集成应将哪个子域用于生产,解析从登录API返回的baseUrl
并将其用于后续请求。