Отслеживание (трейсинг)
Функция ПолучитьТекстЗапросПоЗаказамORDERNUM(Заказы, Заказчик, Ключ)
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML. УстановитьСтроку();
//ЗаписьXML. ЗаписатьОбъявлениеXML();
ЗаписьXML. ЗаписатьНачалоЭлемента("soap:Envelope");
ЗаписьXML. ЗаписатьАтрибут("xmlns:soap", "http://schemas. xmlsoap. org/soap/envelope/");
ЗаписьXML. ЗаписатьАтрибут("xmlns:ns0", "http://dpd. ru/ws/order2/2012-04-04");
ЗаписьXML. ЗаписатьНачалоЭлемента("soap:Header");
ЗаписьXML. ЗаписатьКонецЭлемента();
ЗаписьXML. ЗаписатьНачалоЭлемента("soap:Body");
ЗаписьXML. ЗаписатьНачалоЭлемента("ns0:getOrderStatus");
ЗаписьXML. ЗаписатьАтрибут("xmlns:xs", "http://www. w3.org/2001/XMLSchema");
ЗаписьXML. ЗаписатьАтрибут("xmlns:xsi", "http://www. w3.org/2001/XMLSchema-instance");
ЗаписьXML. ЗаписатьНачалоЭлемента("orderStatus");
ЗаписьXML. ЗаписатьНачалоЭлемента("auth");
ЗаписьXML. ЗаписатьНачалоЭлемента("clientNumber");
ЗаписьXML. ЗаписатьТекст(Заказчик);
ЗаписьXML. ЗаписатьКонецЭлемента();
ЗаписьXML. ЗаписатьНачалоЭлемента("clientKey");
ЗаписьXML. ЗаписатьТекст(Ключ);
ЗаписьXML. ЗаписатьКонецЭлемента();
ЗаписьXML. ЗаписатьКонецЭлемента();
Для Каждого Заказ Из Заказы Цикл
ЗаписьXML. ЗаписатьНачалоЭлемента("order");
ЗаписьXML. ЗаписатьНачалоЭлемента("orderNumberInternal");
ЗаписьXML. ЗаписатьТекст(Заказ);
ЗаписьXML. ЗаписатьКонецЭлемента();
ЗаписьXML. ЗаписатьКонецЭлемента();
КонецЦикла;
ЗаписьXML. ЗаписатьКонецЭлемента();
ЗаписьXML. ЗаписатьКонецЭлемента();
ЗаписьXML. ЗаписатьКонецЭлемента();
ЗаписьXML. ЗаписатьКонецЭлемента();
ТекстXML = ЗаписьXML. Закрыть();
Возврат ТекстXML;
КонецФункции
Функция ОтправитьЗапросWEBСервису(URL, ТекстXML, Таймаут = 10000)
Если ПустаяСтрока(ТекстXML) Тогда
Возврат "";
КонецЕсли;
WinHttp = Новый COMОбъект("WinHttp. WinHttpRequest.5.1");
WinHttp. SetTimeouts(Таймаут, Таймаут, Таймаут, Таймаут);
WinHttp. Option(2,"utf-8");
WinHttp. Open("POST",URL);
WinHttp. setRequestHeader("Content-Type","text/xml; charset=utf-8");
Сообщить("Начало - " + ТекущаяДата());
Сообщить("URL: " + URL);
//Сообщить("ТекстXML запроса: " + ТекстXML);
Попытка
WinHttp. Send(ТекстXML);
Сообщить("Завершение - " + ТекущаяДата());
Если WinHttp. Status = 200 Тогда
Сообщить("Ответ: " + WinHttp. ResponseText);
Возврат(WinHttp. ResponseText);
Иначе
Сообщить("Ошибка сервера: " + WinHttp. Status + " " + WinHttp. ResponseText + " " + WinHttp. StatusText, СтатусСообщения. Важное);
Возврат("");
КонецЕсли;
Исключение
Сообщить(ОписаниеОшибки(), СтатусСообщения. Важное);
Возврат("");
КонецПопытки;
КонецФункции


