|
Помогите с методом НТТР.ОтправитьДляОбработки | ☑ | ||
---|---|---|---|---|
0
vasmedv
11.10.12
✎
10:10
|
Выполняю процедуру:
Процедура ТестОтправкиНажатие(Элемент) Запись=Новый ЗаписьXML; ИмяФайла = Формат(ТекущаяДата(),"ДФ=yyyyMMdd")+"CREDITPRICE"; ПолноеИмяФайла = КаталогXMLФайлов + ИмяФайла +".xml"; Запись.ОткрытьФайл(ПолноеИмяФайла,"UTF-8"); Запись.ЗаписатьОбъявлениеXML(); Запись.ЗаписатьНачалоЭлемента("SMS"); Запись.ЗаписатьНачалоЭлемента("operations"); Запись.ЗаписатьНачалоЭлемента("operation"); Запись.ЗаписатьТекст("CREDITPRICE"); Запись.ЗаписатьКонецЭлемента(); Запись.ЗаписатьКонецЭлемента(); Запись.ЗаписатьНачалоЭлемента("authentification"); Запись.ЗаписатьНачалоЭлемента("username"); Запись.ЗаписатьТекст(Логин); Запись.ЗаписатьКонецЭлемента(); Запись.ЗаписатьНачалоЭлемента("password"); Запись.ЗаписатьТекст(Пароль); Запись.ЗаписатьКонецЭлемента(); Запись.ЗаписатьКонецЭлемента(); Запись.ЗаписатьКонецЭлемента(); //SMS Запись.Закрыть(); //Подготовка переменных Boundary = СтрЗаменить(Строка(Новый УникальныйИдентификатор()), "-", ""); //Формируем заголовок POST-запроса. ЗаголовокHTTP = Новый Соответствие(); //При необходимости зададим Referer, например таким образом СтрокаСоединения = СтрокаСоединенияИнформационнойБазы(); СерверИсточник = НСтр(СтрокаСоединения, "Srvr") + НСтр(СтрокаСоединения, "Ref"); ЗаголовокHTTP.Вставить("Referer", СерверИсточник); //Укажем формат данных Content-Type ЗаголовокHTTP.Вставить("Content-Type", "multipart/form-data; boundary=" + Boundary); //Укажем длину POST-запроса Content-Length ФайлОтправки = Новый Файл(ПолноеИмяФайла); РазмерФайлаОтправки = XMLСтрока(ФайлОтправки.Размер()); ЗаголовокHTTP.Вставить("Content-Length", РазмерФайлаОтправки); Попытка Если ИспользоватьПрокси Тогда Прокси = Новый ИнтернетПрокси; Прокси.НеИспользоватьПроксиДляЛокальныхАдресов = Истина; Прокси.Пароль = ПарольПрокси; Прокси.Пользователь = ПользовательПрокси; НТТР = Новый HTTPСоединение(Сервер, Порт, , , Прокси); Иначе НТТР = Новый HTTPСоединение(Сервер, Порт); //("atompark.com",80) КонецЕсли; Исключение Успешное = Ложь; ОписаниеОшибки = "Неправильная инициализация HTTPСоединения"; КонецПопытки; //2. ИмяФайлаОтвета ИмяФайлаОтвета = ИмяФайла+ "answer"+".xml"; ПолноеИмяФайлаОтвета = КаталогXMLФайлов+ИмяФайлаОтвета; //3. отправляем запрос АдресСкрипта="/members/sms/xml"; Попытка НТТР.ОтправитьДляОбработки(ПолноеИмяФайла, АдресСкрипта, ПолноеИмяФайлаОтвета, ЗаголовокHTTP); Исключение Успешное = Ложь; ОписаниеОшибки = ОписаниеОшибки(); КонецПопытки; КонецПроцедуры все отрабатывает, но в ответ приходит XML файл <?xml version="1.0" encoding="UTF-8"?> <RESPONSE> <status>-2</status> <credits>0</credits> </RESPONSE> а должен <?xml version="1.0" encoding="UTF-8"?> <RESPONSE> <status>0</status> <price>0.45</price> </RESPONSE> Причем я меняю операцию с CREDITPRICE на BALANCE и тд ответ не меняется. статусы такие AUTH_FAILED -1 Неправильный логин и/или пароль ОК 0 Запрос верный XML_ERROR -2 Неправильный формат XML Кто-нибудь знает как решить проблему? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |