2016-07-27 1 views
0

GitHub에서 제공되는 DocuSign REST API 솔루션을 사용하여 3 개월 전까지 문제없이 문제를 해결합니다. 엔벨로프를 만들고 필드 배치를위한 내장 된보기를 만들고 내장 된보기 내에 초안 봉투를 저장할 수 있습니다. 그러나 SendEnvelope 메서드를 사용할 때 예상대로 모든 상태를 보냈습니다.DocuSign API - REST를 통해 전송 된 상태가 아닌 봉투가

더 자세히 살펴보면 response.Content 속성이 완전히 비어 있으므로 Deserialize 메서드는 EnvelopeStatus 개체를 올바르게 만들어 내 코드로 되돌릴 수 없습니다. 기본적으로 빈 인스턴스입니다. 이것은 다른 REST 호출에서 발생하지 않는 것으로 보이며 오늘은 SendEnvelope 메소드에서만 발생하는 것으로 보입니다. API가 변경 되었습니까, 아니면이 오류가 그냥 자르지 않았습니까?

편집이 내용이 데모 사이트에 있음을 명시해야합니다. DocuSign의 엔지니어링

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

안녕하세요 Larry, 예 - 문제가 계속 발생합니다. –

+0

기록을 위해, 이것은 여전히 ​​진행 중입니다. 개발자 센터가 나를 여기 가리키고있는 것처럼 보입니다. @LarryK, 사물을 설명하고 해결하는 데 도움이 될만한 것을 발견하면 조언을 해줄 수 있습니까? –

답변

0

응답 :

이것은 의도적으로 설계된 동작입니다

더 편집 둘러싸는 상태를 변경하는 데 사용되는 코드입니다. 200 응답은 업데이트 작업이 성공했음을 나타냅니다. 응답 본문은 의도적으로 null입니다.

(이 보고서는 2016 년 9 월 9 일에 마감되었습니다. 지금까지 해결책을 알지 못했습니다.)