2016-03-31 16 views
0

Bu link numaralı belgede "Adım 3: Kullanıcı adına adına imza gönderme isteği" bölümünde açıklanan şekilde Docusign REST API'sini çağırmaya çalışıyorum. Aşağıda aşağıdaki hatayı alıyorum. Sınırlı olması gereken sınır nedir? Doğru şekilde nasıl ayarlayabilirim?Docusign REST API Çağrısı - "Sınır Terminatörü Bulunamadı"

{ "hata kodu": "INVALID_MULTI_PART_REQUEST", "mesaj":. "Çok parçalı isteği ayrıştırılırken bir hata bulundu Sınır terminatör '--BOUNDARY; charset = UTF-8--' bulunamadı istek." }

public static string HttpRequest(string url, List<CELPHttpHeader> headerList, EnvelopeDefinition envelopeDefination) 
{ 
    string responseString = string.Empty; 

    HttpClient client = new HttpClient(); 
    client.DefaultRequestHeaders.Add("accept", "application/json"); 

    MediaTypeHeaderValue mediaType = new MediaTypeHeaderValue("multipart/form-data"); 
    NameValueHeaderValue item = new NameValueHeaderValue("boundary", "BOUNDARY"); 
    mediaType.Parameters.Add(item); 

    JsonMediaTypeFormatter formatter = new JsonMediaTypeFormatter(); 

    HttpRequestMessage requestMessage = new HttpRequestMessage(); 
    requestMessage.Method = HttpMethod.Post; 
    requestMessage.Content = new ObjectContent<EnvelopeDefinition>(envelopeDefination, formatter, mediaType); 

    foreach (CELPHttpHeader header in headerList) 
    { 
     client.DefaultRequestHeaders.Add(header.Name, header.Value); 
    } 

    try 
    { 
     Task<HttpResponseMessage> webTaskResult = client.PostAsync(url, requestMessage.Content); 
     webTaskResult.Wait(); 
     HttpResponseMessage response = webTaskResult.Result; 
    } 
    catch (Exception ex) 
    { 

    } 

    return (responseString); 
} 
+0

Bkz Luis'in cevap - Ben isteğinizde sınır mis kodlanmış oluyor düşünüyorum. "; Charset = utf-8", başka bir parametreden geliyor gibi görünüyor. Sınır, bölümün başlıklarından bir satır ayırıcı kullanılarak değil, bir noktalı virgül kullanılarak ayrılmalıdır. –

+0

Teşekkür ederim Jeff, Problemin ZarfDefination'ın yanlış formatta olduğunu ve çok parçalı bir talebin formatının yanlış olduğunu düşündüm. –

cevap

3

API isteği nasıl görünmesi gerektiği bir pasajı aşağıdaki gibidir: Aşağıdaki

--BOUNDARY 

Content-Type: application/json 
Content-Disposition: form-data 

{ 
    <JSON request here> 
} 

--BOUNDARY 
Content-Type: application/pdf 
Content-Disposition: file; filename="test1.pdf"; documentid=1 
Content-Transfer-Encoding: base64 

JVBERi0xLjUNJeLjz9MNCjMwMDIgMCBvYmoNPDwvTGluZWFyaXplZCAxL0wgMTM1 
    <snipped> 
V1sxIDMgMF0+PnN0cmVhbQ0KaN5iYhRZU8PEwCDsBCQY1wMJpicAAQYAHeIDMQ0K 
ZW5kc3RyZWFtDWVuZG9iag1zdGFydHhyZWYNCjEzNjA0NjUNCiUlRU9GDQo= 

--BOUNDARY--