Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        /// <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);
        }
Beispiel #3
0
        /// <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("");
            }
        }