Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Прочее]

API 1с7.7 V7HttpReader

maestro_voln
читатель
офлайн
Дата регистрации: 04.03.2009
Сообщений: 289
Пост №1
 
24.09.2016 20:09

Здравствуйте, помогите разобраться с V7HttpReader

Процедура НП()
Соединение = СоздатьОбъект("AddIn.V7HttpReader");
СтрокаПолучения="api.novaposhta.ua/v2.0/xml/";
ФайлЗапроса=КаталогИБ()+"np.xml";
ФайлОтвета=КаталогИБ()+"np1.xml";
Соединение.ОтправитьДляОбработки(СтрокаПолучения,ФайлЗапроса, 1,ФайлОтвета, 1);
КонецПроцедуры

после выполнения этой процедуры получаю обрезанный файл "ФайлОтвета";
в чем может быть косяк?

Ответили: пост №2
Prikum
активный пользователь
офлайн
Дата регистрации: 18.02.2002
Сообщений: 20953
Пост №2
 
24.09.2016 21:33
Ответ на пост №1

maestro_voln,надо быть отличным экстрасенсом, чтобы по этим данным определить причину.

Ответили: пост №3
maestro_voln
читатель
офлайн
Дата регистрации: 04.03.2009
Сообщений: 289
Пост №3
 
25.09.2016 09:47
Ответ на пост №2

Prikum,каких данных Вам не хватает? я готов предоставить))

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №4
 
30.09.2016 12:48

На стороне web сервера надо явно длину контента указать. Примерно так:
# в $xml записан XML документ
my $write_bytes = length $xml;
print "Accept-Ranges: bytes\n";
print "Content-Length: $write_bytes\n";
print "Content-type: text/xml\n\n";
print $xml;

или так
Header('Accept-Ranges: bytes');
Header('Content-Length: '.$write_bytes);
Header('Content-Type: text/xml');

maestro_voln
читатель
офлайн
Дата регистрации: 04.03.2009
Сообщений: 289
Пост №5
 
30.09.2016 13:30

вэб сервер не мой, компании ""Новая почта". Может есть другие методы кроме V7HttpReader?

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №6
 
30.09.2016 14:04

v7plus хочет "правильный" заголовок контента.
Если нет возможности подкрутить алгоритм на стороне "новой почты", я бы попробовал так:
(алгоритм "навскид", без тестирования, но смысл, думаю, должен быть понятен)
HTTPRequest = СоздатьОбъект("WinHttp.WinHttpRequest.5.1");
...
HTTPRequest.Open("GET", СтрокаПолучения+ФайлОтвета);
HTTPRequest.Send();
Если HTTPRequest.Status<>200 Тогда
тмп=СоздатьОбъект("Текст");
тмп.ДобавитьСтроку(HTTPRequest.ResponseText);
тмп.Записать(...);
КонецЕсли;
HTTPRequest=0;

Ответили: пост №7
maestro_voln
читатель
офлайн
Дата регистрации: 04.03.2009
Сообщений: 289
Пост №7
 
30.09.2016 14:21
Ответ на пост №6

Thorvardr,я ранее рассматривал этот способ,а как им отправить файл на сервер?
нужно обязательно отправить файл хмл, в нем содержится запрос, и получить хмл файл с ответом сервера

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №8
 
30.09.2016 14:44

через "POST", наверное :)

Ответили: пост №10
maestro_voln
читатель
офлайн
Дата регистрации: 04.03.2009
Сообщений: 289
Пост №9
 
30.09.2016 14:58

так я отправлю файл, а мне еще нужно и ответ получить в виде файла а не текста

maestro_voln
читатель
офлайн
Дата регистрации: 04.03.2009
Сообщений: 289
Пост №10
 
30.09.2016 15:10
Ответ на пост №8

Thorvardr,
ФайлЗапроса=КаталогИБ()+"np.xml";
Соединение = СоздатьОбъект("WinHttp.WinHttpRequest.5.1");
Соединение.Open("POST","http://api.novaposhta.ua/v2.0/xml/");

Соединение.Send(ФайлЗапроса);

Ответ = Соединение.ResponseText();
Сообщить(Ответ);

получаю ответ
<?xml version="1.0" encoding="UTF-8"?>
<root><success>false</success><data/><errors><item>Data is invalid</item></errors><warnings/><info/><messageCodes/><err­orCodes/><warningCodes/><infoCodes/></root>

Показывать по 10 20 40 сообщений

Читают тему:

Быстрый переход
Для технических специалистов
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация