我一直在使用GitHub上提供的DocuSign REST API解决方案大约三个月,没有任何问题,直到最后一小时。我可以创建一个信封,为字段放置创建一个嵌入视图,并将嵌套信封保存在嵌入视图中。但是,当我然后使用SendEnvelope方法时,我得到的状态为Any back而不是Sent。这是预期的。
进一步查看它时,response.Content属性是完全空的,因此Deserialize方法无法正确创建EnvelopeStatus对象以返回到我的代码(它基本上是一个空实例)。其他REST调用似乎没有发生这种情况,并且今天似乎只发生在SendEnvelope方法上。 API是否已更改,或者这是一个刚刚出现的错误?
编辑我应该声明这是在演示网站上。
随附的进一步编辑是用于更改状态的代码:
public ApiResponse<EnvelopeStatus> SendEnvelopeWithHttpInfo(string envelopeId, string accountId)
{
// verify the required parameters 'accountId' and 'envelopeId' are set
if (String.IsNullOrEmpty(accountId)) throw new ApiException(400, "Missing required parameter 'accountId' when calling SendEnvelopeWithHttpInfo");
if (String.IsNullOrEmpty(envelopeId)) throw new ApiException(400, "Missing required parameter 'envelopeId' when calling SendEnvelopeWithHttpInfo");
var path_ = "/v2/accounts/{accountId}/envelopes/{envelopeId}/";
var pathParams = new Dictionary<String, String>();
var queryParams = new Dictionary<String, String>();
var headerParams = new Dictionary<String, String>(Configuration.DefaultHeader);
var formParams = new Dictionary<String, String>();
var fileParams = new Dictionary<String, FileParameter>();
String postBody = null;
// to determine the Accept header
String[] http_header_accepts = new String[] {
"application/json"
};
String http_header_accept = Configuration.ApiClient.SelectHeaderAccept(http_header_accepts);
if (http_header_accept != null)
headerParams.Add("Accept", Configuration.ApiClient.SelectHeaderAccept(http_header_accepts));
// set "format" to json by default
// e.g. /pet/{petId}.{format} becomes /pet/{petId}.json
pathParams.Add("format", "json");
if (accountId != null) pathParams.Add("accountId", Configuration.ApiClient.ParameterToString(accountId)); // path parameter
if (envelopeId != null) pathParams.Add("envelopeId", Configuration.ApiClient.ParameterToString(envelopeId)); // path parameter
postBody = "{\"status\":\"sent\"}";
// make the HTTP request
IRestResponse response = (IRestResponse)Configuration.ApiClient.CallApi(path_, Method.PUT, queryParams, postBody, headerParams, formParams, fileParams, pathParams);
int statusCode = (int)response.StatusCode;
if (statusCode >= 400)
throw new ApiException(statusCode, "Error calling SendEnvelopeWithHttpInfo: " + response.Content, response.Content);
else if (statusCode == 0)
throw new ApiException(statusCode, "Error calling SendEnvelopeWithHttpInfo: " + response.ErrorMessage, response.ErrorMessage);
return new ApiResponse<EnvelopeStatus>(statusCode,
response.Headers.ToDictionary(x => x.Name, x => x.Value.ToString()),
(EnvelopeStatus)Configuration.ApiClient.Deserialize(response, typeof(EnvelopeStatus)));
}
答案 0 :(得分:0)
DocuSign Engineering的回复:
这是设计的。 200响应表示更新操作成功。响应主体在设计上为空。
(DS Engineering于2016年9月9日结束了此报告。直到现在我才注意到该决议。)