2017-10-08 4 views
0

Revulytics보고 API를 테스트 중이며 http://devzone.revulytics.com/docs/API/event-tracking-advanced-reports.html#에 따라 고급 이벤트 추적 보고서를 생성하려고합니다. C# 및 WebClient 클래스를 사용하여 HTTP 쿼리 (JSON 구문 분석 및 서식 지정의 경우 Newtonsoft)를 보냅니다. 그러나 JSON 형식이 제대로 지정되어 있고 클라이언트가 제대로 구성되어 있더라도 처리되지 않은 예외가 발생합니다.잘못된 요청을 돌려주는 Revulytics 이벤트 추적

RuiAdvancedRequest advancedRequest = new RuiAdvancedRequest(); 
    DateTime startDate = DateTime.Now.AddDays(-180); 
    advancedRequest.user = textUser.Text; 
    advancedRequest.sessionId = authResponseObj.sessionId; 
    advancedRequest.productId = Convert.ToInt64(textProductId.Text); 
    advancedRequest.startDate = startDate.ToString("yyyy-MM-dd"); 
    advancedRequest.stopDate = DateTime.Now.Date.ToString("yyyy-MM-dd"); 
    advancedRequest.events = list; 
    string serializedRequest = JsonConvert.SerializeObject(advancedRequest); 
    string reportResult = client.UploadString(featureuUsageURL, "POST", serializedRequest); 

마지막 줄에 실패한다 : 아래의 코드 샘플 형식 'System.Net.WebException'처리되지 않은 예외 System.dll을 에 추가 정보를 발생 원격 서버에서 오류를 반환 (400) 잘못된 요청 . Revulytics 서버에서 더 많은 오류 정보를 얻을 수있는 방법이 있습니까?

답변

0

예외를 처리하고 오류 응답 스트림을 살펴보십시오. 비슷한 오류가 발생합니다. JSON의 형식이 올바르지 만 서버의 관점에서 매개 변수의 값이 올바르지 않으면 여전히 JSON 형식이 올바르지 않은 경우와 같은 오류를 반환합니다.

try 
{ 
    reportResult = client.UploadString(featureuUsageURL, "POST", serializedRequest); 
} 
catch (WebException error) 
{ 
    string responseText; 
    var responseStream = error.Response?.GetResponseStream(); 
    if (responseStream != null) 
    { 
    using (var reader = new StreamReader(responseStream)) 
    { 
responseText = reader.ReadToEnd(); 
MessageBox.Show(responseText); 
}  

희망이

을하는 데 도움이