|
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
Кто-нибудь знает как решить проблему?
|
|