/// <summary> /// Производит обработку и конвертацию ответу ответа /// </summary> /// <param name="request">REST Запрос</param> /// <param name="responseBody">Тело ответа</param> /// <returns>Строка ответа REST запроса</returns> internal static string ResponseProcessing(Request request, string responseBody) { xmlDocument xDoc = new xmlDocument(ConvertingResponce(request, responseBody)); ApiLogger.Log(request.SourceObject, request.SourceElement, xDoc, request.URL, request.DataString); if (request.TargetObject != null) { WriteResponce(xDoc, request); } return(responseBody); }
/// <summary> /// Производит обработку и конвертацию ответу ответа /// </summary> /// <param name="request">REST Запрос</param> /// <param name="responseBody">Тело ответа</param> /// <returns>Строка ответа REST запроса</returns> internal static bool ResponseProcessing(Request request, string responseBody) { xmlDocument xDoc = new xmlDocument(ConvertingResponce(request, responseBody)); string requestData; if (request.DataContent == null) { requestData = ""; } else { requestData = request.DataContent.ToString(); } ApiLogger.Log(request.TemplateObject, request.TemplateElement, xDoc, request.URL, requestData); if (request.SourceXmlDocument != null) { WriteResponse(xDoc, request); return(true); } return(false); }
/// <summary> /// Проверка на корректность Веб-запроса, конвертация и отправка /// </summary> /// <param name="request">Запрос</param> /// <returns>Ответ от Запроса</returns> internal static string SendRequest(Request request) { if (request.WebRequest == null) { ApiLogger.SystemLog(request.SourceObject, request.URL, "Не создан объект WebRequest"); return(""); } try { // Проверяем есть ли данные на отправку. Если данных нет, отправляем запрос без передачи данных if (request == null || !request.HasData) { return(GetResponse(request)); } // Конвертим символы в байты byte[] sentData = request.Data; // Получаем длину массива байт request.WebRequest.ContentLength = sentData.Length; // Создаём поток на запись данных using (Stream sendStream = request.GetRequestStream()) { // Записываем данные sendStream.Write(sentData, 0, sentData.Length); // Закрываем поток на запись sendStream.Close(); } // Отправляем запрос на получение данных return(GetResponse(request)); } catch (Exception ex) { ErrorProvider.ShowError(ex.Message, "Post"); return(""); } }