Ошибка при вызове метода контекста отправитьдляобработки

Добрый день!Возникают проблемы при попытке настройки обмена данными 1с и Битрикс:1с выдает такое сообщение: Выгружено товаров: 321Выгружено картинок: 0{Обработка.ОбменССайтом(302)}: Ошибка при вызове метода контекста (ОтправитьДляОбработки): Ошибка работы с Интернет:  failed sending data to the peerПроизошла ошибка: . По причине: Произошла ошибка на стороне сервера. Получен неизвестный статус импорта.Обмен не выполненОтвет сервера:....X Выгрузка товаров завершена с ошибками!!!Ошибка в значении узла...

Добрый день!

Возникают проблемы при попытке обмена данными 1C и Битрикс:

1с выдает такое сообщение:

Выгружено товаров: 1108
Выгружено предложений: 4616
{Обработка.ОбменССайтом(320)}: Ошибка при вызове метода контекста (ОтправитьДляОбработки): Ошибка при выполнении файловой операции ‘bitrix/admin/1c_exchange.php?type=catalog&mode=file&filename=offers.xml’
Произошла ошибка: . По причине:

Произошла ошибка на стороне сервера. Не получен статус завершения операции. Файл не отправлен (C:Documents and SettingsUSERLocal SettingsTemp1cbitrixoffers.xml.031).
Обмен не выполнен
Ответ сервера:
<ht ml xmlns=»http://www.w3.org/1999/xhtml» xml:lang=»en» lang=»en»>
<head>
<ST YLE type=»text/css»><!—
*
{
margin: 0px;
}

body
{
font-family: verdana, helvetica, sans-serif;
font-size: 13px;
padding: 0px;
background-color: #ffffff;
color: #111111;
}

a
{
background-color: inherit;
color: #0000EE;
}

a:hover
{
text-decoration: none;
}

p
{
text-align: justify;
margin-bottom: 15px;
line-height: 22px;
}

ul
{
list-style: disc;
padding-left: 15px;
margin-bottom: 15px;
}

h3
{
font-size: 20px;
margin-bottom: 30px;
}

h4
{
font-size: 13px;
margin-bottom: 5px;
}

#container
{
margin: 0px 0px 0px 0px;
}

#header
{
background-color: #660000;
color: #fff;
padding: 10px 40px 10px 40px;
}

#headerok
{
background-color: #006600;
color: #fff;
padding: 10px 40px 10px 40px;
}

#header h1
{
font-size: 30px;
}

#header h2
{
font-size: 14px;
}

#headerok h1
{
font-size: 30px;
}

#headerok h2
{
font-size: 14px;
}

#body
{
margin: 10px 40px 10px 40px;
border-bottom: solid 1px #DADADA;
}

#footer
{
margin: 0px 40px 0px 40px;
}

#signature
{
margin: 0px 40px 0px 40px;
}

#body p
{
}

#errorwhat
{
padding: 10px 0px;
font-size: 20px;
border-bottom: solid 1px #DADADA;
}

.clearit
{
clear: both;
height: 1px;
}
—></STYLE>

<met a http-equiv=»Content-Type» content=»text/html;charset=iso-8859-1″ />
<title>ERROR: The requested URL could not be retrieved</title>
</head>

<body>
<div id=»container»>
<div id=»header»>
<h1>ERROR</H1>
<h2>The requested URL could not be retrieved</h2>
</div>

<div id=»body»>
<div id=»what»>

While trying to retrieve the URL: <a href=»»></a>

</div>
<div id=»errortitle»>

The following error was encountered:

</div>
<div id=»errorwhat»>

Zero Sized Reply

</div>
<div id=»errordescription»>

Squid did not receive any data for this request.

</div>
</div>

</div>
</body>
</html>

Выгрузка товаров завершена с ошибками!!!

   artyom_astt

17.05.13 — 17:17

Пытаюсь передать параметры для обработки их на сайте и вернуть результат обработки, не могу понять почему в Результате обработки  ничего не записывется во временный файл

   artyom_astt

1 — 17.05.13 — 17:18

Вот Код:

   имяФайлаОтправки = «d:request.txt»;

   имяФайлОтправки = ПолучитьимяВременногоФайла(«txt»);

   
   ЗаписьТекста = Новый ЗаписьТекста(имяФайлаОтправки);

   ЗаписьТекста.Записать(«code=»+КодФормы+»&series=»+СерияБСО+»&number=»+НомерБСО);

   ЗаписьТекста.Закрыть();

   имяВыходногоФайла = ПолучитьимяВременногоФайла(«xml»);     // наш сервер возвращает ответы в виде XML

   //имяВыходногоФайла = «d:answer.xml»;

   ФайлОтправки = Новый Файл(имяФайлаОтправки);

   РазмерФайлаОтправки = XMLСтрока(ФайлОтправки.Размер());

   
   Соединение = Новый HTTPСоединение(«www.m.blank.bisc.by/Query»);

   Заголовки = Новый Соответствие();

   //Заголовки.Вставить(«host», «http://m.blank.bisc.by/Query:8080»);  

   /////

   Запрос = Новый HTTPЗапрос();

   Запрос.УстановитьТелоИзСтроки();

   Соединение.Записать(Запрос);

   
   Соединение.ОтправитьДляОбработки(Запрос,»GetAnswer», имяВыходногоФайла, Заголовки);

           Попытка

       УдалитьФайлы(имяФайлаОтправки);

   Исключение

   КонецПопытки;

   // обработаем ответ сервера

       ЧтениеXML = Новый ЧтениеXML;

   ЧтениеXML.ОткрытьФайл(имяВыходногоФайла);

   Пока ЧтениеXML.Прочитать() Цикл

   // чтение ответа в виде XML файла

   КонецЦикла;

   ЧтениеXML.Закрыть();

   Krendel

2 — 17.05.13 — 17:18

Продолжайте пытатся, на следующий раз получится ;-)

   artyom_astt

3 — 17.05.13 — 17:19

не обращайте внимание на пустой запрос, результатом обратоки явлется возвращаемый xml файл

   oleg_km

4 — 17.05.13 — 17:26

(3) Ошибку-то какую выдает?

   artyom_astt

5 — 17.05.13 — 17:28

{Форма.Форма.Форма(53)}: Ошибка при вызове метода контекста (ОткрытьФайл)

   ЧтениеXML.ОткрытьФайл(имяВыходногоФайла);

по причине:

Файл не обнаружен ‘C:UsersAppDataLocalTempv8_92D9_75.xml’

   drcrasher

6 — 17.05.13 — 17:29

(0) всё, что связано с сайтами, внятно разжовано в (ОбщийМодуль||Обработка).ОбменССайтом

   Infsams654

7 — 17.05.13 — 17:34

(3) Запрос = Новый HTTPЗапрос();

   Запрос.УстановитьТелоИзСтроки();

   Соединение.Записать(Запрос);

   
   Соединение.ОтправитьДляОбработки(Запрос…

а так разве можно Put и Post с одинаковым запросом, тем более что он пустой ?

   artyom_astt

8 — 17.05.13 — 17:40

(7)

результатом обработки пустого запроса будет xmlфайл с соообщением, пытаюсь понять почему не отрабатывает создание временного файла

   sttt

9 — 17.05.13 — 17:42

вот так пробуй:

   ИмяФайлаОтправки = ПолучитьИмяВременногоФайла(«txt»);

   
   POSTПараметры = Новый ЗаписьТекста(ИмяФайлаОтправки, КодировкаТекста.UTF8,, Истина, Символы.ПС); //ТекстБезБОМ

   POSTПараметры.Записать(«code=» + КодФормы + «&series=» + СерияБСО + «&number=» + НомерБСО);

   POSTПараметры.Закрыть();

   ИмяВыходногоФайла = ПолучитьИмяВременногоФайла(«xml»);

   
   ФайлОтправки = Новый Файл(ИмяФайлаОтправки);

   РазмерФайлаОтправки = XMLСтрока(ФайлОтправки.Размер());

   
   Данные = «code=» + КодФормы + «&series=» + СерияБСО + «&number=» + НомерБСО;

   Заголовки = Новый Соответствие();

   Заголовки.Вставить(«POST /Query HTTP/1.1»);

   Заголовки.Вставить(«Host», «www.m.blank.bisc.by»);    

   Заголовки.Вставить(«Referer», «www.m.blank.bisc.by»);

   Заголовки.Вставить(«Content-Type», «application/x-www-form-urlencoded»);

   Заголовки.Вставить(Данные);

   Соединение = Новый HTTPСоединение(«www.m.blank.bisc.by»);

   Соединение.ОтправитьДляОбработки(ИмяФайлаОтправки, «v8», ИмяВыходногоФайла, Заголовки);

   
   Попытка

       УдалитьФайлы(ИмяФайлаОтправки);

   Исключение

   КонецПопытки;

   
   ЧтениеXML = Новый ЧтениеXML;

   ЧтениеXML.ОткрытьФайл(ИмяВыходногоФайла);

   Пока ЧтениеXML.Прочитать() Цикл

       …

   КонецЦикла;

   ЧтениеXML.Закрыть();

   
   Попытка

       УдалитьФайлы(ИмяВыходногоФайла);

   Исключение

   КонецПопытки;

   sttt

10 — 17.05.13 — 17:43

Соединение.ОтправитьДляОбработки(ИмяФайлаОтправки, «v8», ИмяВыходногоФайла, Заголовки);

замени на это

Соединение.ОтправитьДляОбработки(ИмяФайлаОтправки, «Query», ИмяВыходногоФайла, Заголовки);

   sttt

11 — 17.05.13 — 17:44

и это лишнее:

Данные = «code=» + КодФормы + «&series=» + СерияБСО + «&number=» + НомерБСО;

и это:

Заголовки.Вставить(Данные);

   artyom_astt

12 — 17.05.13 — 17:49

Вот ругается:

{Форма.Форма.Форма(82)}: Ошибка при вызове метода контекста (ОтправитьДляОбработки)

   Соединение.ОтправитьДляОбработки(ИмяФайлаОтправки, ИмяВыходногоФайла, Заголовки);

по причине:

Ошибка при выполнении файловой операции  ‘C:UsersastapenkoAppDataLocalTempv8_92D9_81.xml’

по причине:

Ошибка работы с Интернет:  неверный формат ответа шлюзу (502). <!DOCTYPE HTML PUBLIC «-//W3C//DTD HTML 4.0 Transitional//EN»>

<HTML><HEAD><TITLE>Сообщение об ошибке</TITLE>

   artyom_astt

13 — 17.05.13 — 17:50

(10) Убрал параметр Query на него тогда ругался

   sttt

14 — 17.05.13 — 17:53

(13) заработало?

   artyom_astt

15 — 17.05.13 — 17:54

нет.. убрал парамет query до того как получил ошибку в сообщении 12

   sttt

16 — 17.05.13 — 17:57

ты во втором параметре убрал или в заголовке?

должно быть так:

Соединение.ОтправитьДляОбработки(ИмяФайлаОтправки, «Query», ИмяВыходногоФайла, Заголовки);

у тебя же адрес:

www.m.blank.bisc.by/Query

   sttt

17 — 17.05.13 — 17:58

и ты через шлюз работаешь?

   sttt

18 — 17.05.13 — 18:00

Прокси = Новый ИнтернетПрокси;

Прокси.Установить(«http», «IP твоего шлюза», 3919);

HTTPСоединение = Новый HTTPСоединение(«www.m.blank.bisc.by»,,, Прокси);

   artyom_astt

19 — 17.05.13 — 18:00

(16)Да, я убрал во втором парметре! Если оставить его на месте то вот какую ошибку ловлю:

{Форма.Форма.Форма(82)}: Ошибка при вызове метода контекста (ОтправитьДляОбработки)

   Соединение.ОтправитьДляОбработки(ИмяФайлаОтправки,»Query», ИмяВыходногоФайла, Заголовки);

по причине:

Ошибка при выполнении файловой операции  ‘Query’

по причине:

(17) Да работаю через шлюз, по-другому никак

   sttt

20 — 17.05.13 — 18:04

(18) ну как, с этим (18) работает?

   artyom_astt

21 — 17.05.13 — 18:06

(20) к сожелению ошибка всё таже

   sttt

22 — 17.05.13 — 18:09

уточни у админов параметры прокси.

пример скинул рабочий, правда локально проверенный.

может еще кодировку UTF8 поменять в

POSTПараметры = Новый ЗаписьТекста(ИмяФайлаОтправки, КодировкаТекста.UTF8,, Истина, Символы.ПС); //ТекстБезБОМ

   artyom_astt

23 — 17.05.13 — 18:11

(22) сейчас попробую

   artyom_astt

24 — 17.05.13 — 18:13

(22) а на какую кодировку то менять?? я так понимаю Вы уже реализовали нечто подобное и оно у Вас нормально работает?

   sttt

25 — 17.05.13 — 18:17

да, у меня работает. только я не с этим www.m.blank.bisc.by

этот адрес в браузере не открывается, а через 1с не пытался

   artyom_astt

26 — 17.05.13 — 18:22

хммм, интересно. на адрес в (25) не заходит, но через http://m.blank.bisc.by/ без проблем

   sttt

27 — 17.05.13 — 18:25

(26) так может поменять www.m.blank.bisc.by  везде на m.blank.bisc.by

   artyom_astt

28 — 17.05.13 — 18:27

Вариант синтаксиса: По HTTP-запросу

Синтаксис:

ОтправитьДляОбработки(<HTTPЗапрос>, <ИмяВыходногоФайла>)

Параметры:

<HTTPЗапрос> (обязательный)

Тип: HTTPЗапрос.

HTTP-запрос.

<ИмяВыходногоФайла> (необязательный)

sttt это нормально что в синт.помощнике метод описан по другому??

   sttt

29 — 17.05.13 — 18:33

поменяй адрес http://m.blank.bisc.by/Query и жизнь наладиться и похоже прокси тебе не нужен, проблема была в неверном адресе

у меня так:

ОтправитьДляОбработки(<Источник>, <АдресРесурса>, <ИмяВыходногоФайла>, <Заголовки>)

Параметры:

<Источник> (обязательный)

Тип: Строка.

Имя файла-источника.

<АдресРесурса> (обязательный)

Тип: Строка.

Адрес ресурса на сервере, в который посылаются данные из источника.

<ИмяВыходногоФайла> (обязательный)

Тип: Строка.

Имя выходного файла, в который записываются полученные с сервера данные.

<Заголовки> (необязательный)

Тип: Строка.

Указываются заголовки, добавляемые к запросу на сервер. Текстовые пары вида <Заголовок>:<Значение>, разделяемые комбинацией ВК+ ПС.

Описание:

Отправить ресурс на указанный адрес для обработки.

Доступность:

Тонкий клиент, сервер, толстый клиент, внешнее соединение.

   artyom_astt

30 — 17.05.13 — 18:48

Cпасибо за проявляемый интерес, изменил адрес и вот что пишет:

{Форма.Форма.Форма(86)}: Ошибка при вызове метода контекста (ОтправитьДляОбработки)

   Соединение.ОтправитьДляОбработки(ИмяФайлаОтправки,»Query», ИмяВыходногоФайла, Заголовки);

по причине:

Ошибка работы с Интернет:  Couldn’t resolve host name

   sttt

31 — 17.05.13 — 18:50

(30) у тебя где то адрес старый прописан, ищи

   sttt

32 — 17.05.13 — 18:50

+(31) у меня работает

   artyom_astt

33 — 17.05.13 — 18:57

ИмяФайлаОтправки = ПолучитьИмяВременногоФайла(«txt»);

   
  POSTПараметры = Новый ЗаписьТекста(ИмяФайлаОтправки, КодировкаТекста.UTF8,, Истина, Символы.ПС);  //ТекстБезБОМ

   POSTПараметры.Записать(«code=» + КодФормы + «&series=» + СерияБСО + «&number=» + НомерБСО);

   POSTПараметры.Закрыть();

   ИмяВыходногоФайла = ПолучитьИмяВременногоФайла(«xml»);

   
   ФайлОтправки = Новый Файл(ИмяФайлаОтправки);

   РазмерФайлаОтправки = XMLСтрока(ФайлОтправки.Размер());

   
  // Данные = «code=» + КодФормы + «&series=» + СерияБСО + «&number=» + НомерБСО;

   Заголовки = Новый Соответствие();

   Заголовки.Вставить(«POST /Query HTTP/1.1»);

   Заголовки.Вставить(«Host», «http://m.blank.bisc.by»);    

   Заголовки.Вставить(«Referer», «http://m.blank.bisc.by»);

   Заголовки.Вставить(«Content-Type», «application/x-www-form-urlencoded»);

  // Заголовки.Вставить(Данные);

 
  //Прокси = Новый ИнтернетПрокси;

  //Прокси.Установить(«http», «192.168.0.206», 8080);

  //Соединение = Новый HTTPСоединение(«http://m.blank.bisc.by»);

 
   Соединение = Новый HTTPСоединение(«http://m.blank.bisc.by»);

   Соединение.ОтправитьДляОбработки(ИмяФайлаОтправки,»Query», ИмяВыходногоФайла, Заголовки);

   
   Попытка

       УдалитьФайлы(ИмяФайлаОтправки);

   Исключение

   КонецПопытки;

   
   ЧтениеXML = Новый ЧтениеXML;

   ЧтениеXML.ОткрытьФайл(ИмяВыходногоФайла);

   Пока ЧтениеXML.Прочитать() Цикл

     
 КонецЦикла;

   ЧтениеXML.Закрыть();

   
   Попытка

       УдалитьФайлы(ИмяВыходногоФайла);

   Исключение

   КонецПопытки;

   artyom_astt

34 — 17.05.13 — 18:58

(33) не срабатывает, ошибка из (30)

   sttt

35 — 17.05.13 — 19:00

замени везде «http://m.blank.bisc.by» на

   Заголовки.Вставить(«Host», «m.blank.bisc.by»);    

   Заголовки.Вставить(«Referer», «m.blank.bisc.by»);

и т.д.

   sttt

36 — 17.05.13 — 19:00

и вот это лишнее:

   ФайлОтправки = Новый Файл(ИмяФайлаОтправки);

   РазмерФайлаОтправки = XMLСтрока(ФайлОтправки.Размер());

   artyom_astt

37 — 18.05.13 — 11:04

Всё поправил как Вы сказали, но увы получаю ошибку из (30)

   sttt

38 — 18.05.13 — 13:05

(37) невероятно))

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

   ИмяФайлаОтправки = ПолучитьИмяВременногоФайла(«txt»);

   
   POSTПараметры = Новый ЗаписьТекста(ИмяФайлаОтправки, КодировкаТекста.UTF8,, Истина, Символы.ПС); //ТекстБезБОМ

   POSTПараметры.Записать(«code=» + Объект.КодФормы + «&series=» + Объект.СерияБСО + «&number=» + Объект.НомерБСО);

   POSTПараметры.Закрыть();

   ИмяВыходногоФайла = ПолучитьИмяВременногоФайла(«txt»);

   Заголовки = Новый Соответствие();

   Заголовки.Вставить(«POST /GetAnswer HTTP/1.1»);

   Заголовки.Вставить(«Host», «m.blank.bisc.by»);

   Заголовки.Вставить(«Referer», «http://m.blank.bisc.by/Query»);

   Заголовки.Вставить(«Cookie», «ASP.NET_SessionId=orlnnpbz2vrxrbuobsh4fmom»);  // без этих кукисов работать не будет и в ЗаголовокGET такой же должен быть. посмотри по форуму, недавно пробегал пример как куки подставлять

   Заголовки.Вставить(«Connection», «keep-alive»);

   Заголовки.Вставить(«Content-Type», «application/x-www-form-urlencoded»);

   Соединение = Новый HTTPСоединение(«m.blank.bisc.by»);

   Соединение.ОтправитьДляОбработки(ИмяФайлаОтправки, «GetAnswer», ИмяВыходногоФайла, Заголовки);

   
   ЗаголовокGET = Новый Соответствие();

   ЗаголовокGET.Вставить(«GET /BlankInfo HTTP/1.1»);

   ЗаголовокGET.Вставить(«Host», «m.blank.bisc.by»);

   ЗаголовокGET.Вставить(«Referer», «http://m.blank.bisc.by/Query»);

   ЗаголовокGET.Вставить(«Cookie», «ASP.NET_SessionId=orlnnpbz2vrxrbuobsh4fmom»);

   ЗаголовокGET.Вставить(«DNT», «1»);

   ЗаголовокGET.Вставить(«Connection», «keep-alive»);

   
   Соединение.Получить(«/BlankInfo», ИмяВыходногоФайла, ЗаголовокGET);

   
   Попытка

       УдалитьФайлы(ИмяФайлаОтправки);

   Исключение

   КонецПопытки;

   
   ТекстовыйДокумент = Новый ТекстовыйДокумент;

   ТекстовыйДокумент.Прочитать(ИмяВыходногоФайла);

   Объект.Ответ = ТекстовыйДокумент.ПолучитьТекст();

   ЭтаФорма.ОтветHTML = ТекстовыйДокумент.ПолучитьТекст();

   
   Попытка

       УдалитьФайлы(ИмяВыходногоФайла);

   Исключение

   КонецПопытки;

   artyom_astt

39 — 18.05.13 — 13:25

Спасибо Вам большое, буду разбираться…!

   artyom_astt

40 — 18.05.13 — 22:22

ошибки о которых писал выше отсутствуют, спасибо за это!!!

с куки пока не разобрался увы!

   sttt

41 — 19.05.13 — 22:53

придется переделать под:

WinHttp = Новый COMОбъект(«WinHttp.WinHttpRequest.5.1»);

WinHttp.Option(2,»Windows-1251″);

WinHttp.Open(«POST», «https://site.ru»,0);

WinHttp.Send(НовыйЗапрос);

Кукиз= WinHttp.getResponseHeader(«Set-cookie»);

это нетрудно

   artyom_astt

42 — 20.05.13 — 10:06

С таким методом пока не приходилось сталкиваться, буду пытаться! Спасиб

   acsent

43 — 20.05.13 — 10:15

(41) 1с тоже с куками умеет

   artyom_astt

44 — 20.05.13 — 10:16

(43) может подкинете где почитать, хотелось бы обойтись без ком объектов

   acsent

45 — 20.05.13 — 10:17

HTTPОтвет = Соединение.ОтправитьДляОбработки(Запрос…

далее смотрим HTTPОтвет

   oleg_km

46 — 20.05.13 — 10:42

(45) Это вроде только с 8.1.18?

   acsent

47 — 20.05.13 — 10:43

(46) а че у когото не что ли?

   artyom_astt

48 — 20.05.13 — 11:01

всё норм у меня 8.2

   artyom_astt

49 — 20.05.13 — 11:28

Sttt, есть к Вам вопрос, как к человеку проявившему наибольшее внимание… Для чего мне нужны cookie в моем  случае? может из-за непонимания вопроса у меня ничего и не выходит…..

в принципе если кто сможет пояснить,буду очень признателен

   artyom_astt

50 — 20.05.13 — 11:29

Ниже содержание, вернувшегося в результате обработки запроса, сообщения

<html><head><title>Object moved</title></head><body>

<h2>Object moved to <a href=»/Query»>here</a>.</h2>

</body></html>

   artyom_astt

51 — 20.05.13 — 12:55

до того момента как всё заработает осталось немного, только с куки разобраться…

   artyom_astt

52 — 21.05.13 — 11:39

поднимаю

   Infsams654

53 — 21.05.13 — 11:52

(51) в чем проблемы ? ЗаголовкиЗапроса.Вставить(«Cookie», Cookie.Имя + «=» + Cookie.Текст);

   artyom_astt

54 — 21.05.13 — 12:51

(51) c кодом нет проблемы. Не понимаю что есть Cookie.Имя  и  Cookie.Текст, и откуда их брать.

P.S. сорри за жесткий тупняк, с моей стороны

   artyom_astt

55 — 21.05.13 — 15:17

Вот исходный код страницы с обработанным запросом (параметры забивал вручную)…

<?xml version=»1.0″ encoding=»UTF-8″?>

<!DOCTYPE html PUBLIC «-//WAPFORUM//DTD XHTML Mobile 1.0//EN»

«http://www.wapforum.org/DTD/xhtml-mobile10.dtd»>

<html>

<head>

   <title>Мобильная версия — АС БДБ</title>

   <link href=»/Resources/Content/core.css» rel=»stylesheet» type=»text/css» />

</head>

<body>

   <div id=»header» class=»header»>

       <a href=»/»>АС БДБ</a>

   </div>

   <div id=»subtitle» class=»subtitle»>

       
   Запрос обработан

   </div>

   <div id=»body» class=»body»>

       

<div id=»RequestInfoDiv»>

   <span>

       <label for=»Blank_Code»>Код</label>: <strong>401851</strong><br />

       <label for=»Blank_Name»>Наименование</label>: <strong>ТН-2 (ПЭВМ) а4 1х2 </strong><br />

       <label for=»Blank_Series»>Серия</label>: <strong>ФК</strong><br />

       <label for=»Blank_Number»>Номер</label>: <strong>1083246</strong>

   </span>

</div>

<hr />

       <u>Приобретен</u>

       <div id=»PurchaseInfoTable»>

           <label for=»Blank_PurchaseInfo_RegistrationNumber»>УНП</label>: <strong>290473870</strong><br />

           <label for=»Blank_PurchaseInfo_EconomicEntityName»>Наименование</label>: <strong>Общество с ограниченной ответственностью &quot;Успех про&quot;</strong><br />

           <label for=»Blank_PurchaseInfo_Date»>Дата</label>: <strong>4.3.2013</strong><br />

       </div>

   </div>

   <div id=»footer» class=»footer»>

       <a href=»/Soi»>Полная версия сайта</a>

       <br />

       <span>© Расчетный центр НБ РБ</span>

   </div>

</body>

</html>

   artyom_astt

56 — 21.05.13 — 16:47

Кто сталкивался,  обратите внимание, не проходите мимо

(38) код отправки запроса

(55) обработанный запрос (параметры рууками заполнял)

(50) файл полученный с сайта

Как в 1с вместо (50) получить нормальный ответ, который содержится в (55) ??

   acsent

57 — 21.05.13 — 16:49

fiddler поставь и посмотри что передаешь ты, а что браузер

   artyom_astt

58 — 21.05.13 — 17:12

(57) попробую позже, но сейчас нет возможности (нет прав)!!!

вопрос еще актуален

   Infsams654

59 — 21.05.13 — 17:15

(54) на то они и куки, что понимаются клиентом и сервером. Если не знаешь протокола общения, то и не лезь

   blopp

60 — 21.05.13 — 17:33

(56)

Ну типа подумать головой и отработать редирект, не?

  

   artyom_astt

61 — 21.05.13 — 18:31

Спасибо всем кто попытался помочь, в особенности Sttt !!!!

Всё заработало благодаря тулзе fiddler

  

oleg_km

62 — 21.05.13 — 22:10

(61) В следующий раз прямо с нее и начинай

Здравствуйте. Продолжаю свои изыскания. В Помощнике — есть действительно 2 варианта —
HTTPСоединение (HTTPConnection)
ОтправитьДляОбработки (Post)
Вариант синтаксиса: По HTTP-запросу

Синтаксис:

ОтправитьДляОбработки(<HTTPЗ апрос>, <ИмяВыходногоФайла>)
Параметры:

<HTTPЗапрос> (обязательный)

Тип: HTTPЗапрос.
HTTP-запрос.
<ИмяВыходногоФайла> (необязательный)

Тип: Строка.
Имя файла, в который следует записать тело ответа.
Если не задан, то тело ответа может быть получено из объекта HTTPОтвет.
Описание варианта метода:

Отправляет ресурс по HTTP-запросу.
Вариант синтаксиса: По файлу-источнику и адресу ресурса

Синтаксис:

ОтправитьДляОбработки(<Ист очник>, <АдресРесурса>, <ИмяВыходногоФайла>, <Заголовки>)
Параметры:

<Источник> (обязательный)

Тип: Строка.
Адрес файла-источника.
<АдресРесурса> (обязательный)

Тип: Строка.
Адрес ресурса на сервере, в который посылаются данные из источника.
<ИмяВыходногоФайла> (обязательный)

Тип: Строка.
Имя выходного файла, в который записываются полученные с сервера данные.
<Заголовки> (необязательный)

Тип: Соответствие; Строка.
Позволяет добавлять к запросу на сервер заголовки в виде строки, содержащей текстовые пары «Заголовок» — «Значение», разделяемые комбинацией символов ВК + ПС, или в виде cоответствия «Заголовок» — «Значение заголовка».

Я взяла пример с рассматриваемой статьи —

Загрузка файлов (изображений, документов и т.п.) на веб-сервер методом POST.
Зачастую возникает необходимость загрузки файлов на веб-сервер. Это может быть, например, изображение к статье на сайте, или фотография для альбома, или архив для файлообменника. Ранее мы рассматривали передачу методом POST параметров или просто файлов. Таким же образом можно и передавать двоичные файлы. Но как быть, если файлы необходимо отправлять вместе с параметрами? Для возможности отправки файлов в этом случае используется HTTP заголовок ContentType:multipart/form-data. Следует заметить, что обычно таким способом передаются файлы через веб-браузеры. Т.е. когда на сайте вы выбираете файл и нажимаете кнопку «Загрузить», то файл передается способом описанным ниже. При таком способе сам файл также задается как переменная, т.е., например, файл передается через параметр file или image. Однако, мы не можем просто передать file=<Двоичные_Данные>. А вот как все таки передать файл мы и рассмотрим ниже.

Для возможности вместе с параметрами передавать и двоичные данные (файлы) необходимо сформировать HTTP заголовок Content-Type следующим образом:
Content-Type: multipart/form-data, boundary=<уникальные_данные>
где <уникальные_данные> — это любой набор цифр и/или символов, который будет служить для отделения значений друг от друга. Значение boundary должно быть уникальным в пределах пересылаемой информации, т.е. таких символов не должно встречаться в пересылаемых файлах и переменных.

Bounday можно сформировать, например, таким образом
Код 1C v 8.х
boundary = СтрЗаменить(Строка(Новый УникальныйИдентификатор()), «-«, «»);

Все данные отделяются друг от друга разделителем boundary. Начинать разделитель нужно с «—«:
Код
—<boundary>
Content-Disposition: form-data; name=»<имя_переменной>»
<пустая_строка>
<значение_переменной>
Для отправки файла необходимо еще добавить тип и имя файла:

—<boundary>
Content-Disposition: form-data; name=»<имя_переменной>»; filename=»<имя_файла>»
Content-Type: <тип_файла> (например image/jpeg или text/plain)
<пустая_строка>
<данные_файла>

В конце данных нужно закрыть разделитель, добавили в конце разделителя «—«, т.е. вид будет «—<boundary>—«.

Итак, например, нам нужно передать на веб-сервер текстовый файл через параметр «text», его описание через параметр «desc» и id пользователя через параметр «uid», для которого будет загружен наш файл.

Предположим, что файл содержит следующий текст:
Мороз и солнце; день чудесный!
Еще ты дремлешь, друг прелестный —
Пора, красавица, проснись:
Открой сомкнуты негой взоры
Навстречу северной Авроры,
Звездою севера явись!
Описание должно содержать «Стих А.С. Пушкина», а id пользователя равно «0123456». Тогда файл должен быть сформирован следующим образом (для упрощения предположим, что bounday мы уже сформировали и он равен «ccf8111910»)
Код
—ccf8111910
Content-Disposition: form-data; name=»uid»

0123456
—ccf8111910
Content-Disposition: form-data; name=»desc»

Стих А.С. Пушкина
—ccf8111910
Content-Disposition: form-data; name=»text»; filename=»stih.txt»
Content-Type: text/plain

Мороз и солнце; день чудесный!
Еще ты дремлешь, друг прелестный —
Пора, красавица, проснись:
Открой сомкнуты негой взоры
Навстречу северной Авроры,
Звездою севера явись!
—ccf8111910—

А теперь перейдем непосредственно к 1С. Пусть у нас будет форма с реквизитами «Пользователь», «Описание» и «ИмяФайла». Реализуем отправку данных, описанным выше способом
Код 1C v 8.х
// подготовим файл с данными для отправки
имяФайлаОтправки = ПолучитьимяВременногоФайл а(«txt»);
Boundary = СтрЗаменить(Строка(Новый УникальныйИдентификатор()), «-«, «»);

ЗаписьТекста = Новый ЗаписьТекста(имяФайлаОтпр� �вки);

// параметр «uid»
ЗаписьТекста.ЗаписатьСтро� �у(«—«+boundary);
ЗаписьТекста.ЗаписатьСтро� �у(«Content-Disposition: form-data; name=»»uid»»»);
ЗаписьТекста.ЗаписатьСтро� �у(«»);
ЗаписьТекста.ЗаписатьСтро� �у(Пользователь);

// параметр «desc»
ЗаписьТекста.ЗаписатьСтро� �у(«—«+boundary);
ЗаписьТекста.ЗаписатьСтро� �у(«Content-Disposition: form-data; name=»»desc»»»);
ЗаписьТекста.ЗаписатьСтро� �у(«»);
ЗаписьТекста.ЗаписатьСтро� �у(Описание);

// параметр «text»
ФайлДляПередачи = Новый ТекстовыйДокумент;
ФайлДляПередачи.Прочитать( имяФайла);

ЗаписьТекста.ЗаписатьСтро� �у(«—«+boundary);
ЗаписьТекста.ЗаписатьСтро� �у(«Content-Disposition: form-data; name=»»text»»; filename=»»stih.txt»»»);
ЗаписьТекста.ЗаписатьСтро� �у(«Content-Type: text/plain»);
ЗаписьТекста.ЗаписатьСтро� �у(«»);
ЗаписьТекста.Записать(Файл ДляПередачи.ПолучитьТекст( ));
ЗаписьТекста.ЗаписатьСтро� �у(«»);

// закроем разделитель
ЗаписьТекста.ЗаписатьСтро� �у(«—«+boundary+»—«);

ЗаписьТекста.Закрыть();

ФайлОтправки = Новый Файл(имяФайлаОтправки);
РазмерФайлаОтправки = XMLСтрока(ФайлОтправки.Разм� �р());

// передадим данные на сервер
Заголовки = Новый Соответствие();
Заголовки.Вставить(«Content-Type», «multipart/form-data, boundary=»+boundary);
Заголовки.Вставить(«Content-Lenght», РазмерФайлаОтправки);

Соединение = Новый HTTPСоединение(«www.mysite.com»);
Соединение.ОтправитьДляОб� �аботки(имяФайлОтправки, «postFile.php», имяВыходногоФайла, Заголовки);

Естественно — немного переделав. Вот что получилось.

HTTPСервер = «сайт_куда_отправляю.ru»;
ИМяФайла = «C:Каталогфайл.csv»;
ФайлРезультат = «C:result.xml»;

Попытка
Соединение = Новый HTTPСоединение(HTTPСервер,80,»По льзователь»,»Пароль»,,Истина );

Исключение
Сообщить(ОписаниеОшибки());
Соединение = Неопределено;
КонецПопытки;

Если Соединение = Неопределено Тогда
Сообщить(«Не удалось подключиться к серверу, указанному в настройке обмена! Обработка прервана!»);

КонецЕсли;

имяФайлаОтправки = ПолучитьимяВременногоФайл а(«txt»);
Boundary = СтрЗаменить(Строка(Новый УникальныйИдентификатор()), «-«, «»);

ЗаписьТекста = Новый ЗаписьТекста(имяФайлаОтпр� �вки);

// параметр «uid»
ЗаписьТекста.ЗаписатьСтро� �у(«—«+boundary);
ЗаписьТекста.ЗаписатьСтро� �у(«Content-Disposition: form-data; name=»»uid»»»);
ЗаписьТекста.ЗаписатьСтро� �у(«»);
ЗаписьТекста.ЗаписатьСтро� �у(«Пользователь»);

// параметр «desc»
ЗаписьТекста.ЗаписатьСтро� �у(«—«+boundary);
ЗаписьТекста.ЗаписатьСтро� �у(«Content-Disposition: form-data; name=»»desc»»»);
ЗаписьТекста.ЗаписатьСтро� �у(«»);
ЗаписьТекста.ЗаписатьСтро� �у(«Описание»);

// параметр «text»
ФайлДляПередачи = Новый ТекстовыйДокумент;
ФайлДляПередачи.Прочитать( имяФайла);

ЗаписьТекста.ЗаписатьСтро� �у(«—«+boundary);
ЗаписьТекста.ЗаписатьСтро� �у(«Content-Disposition: form-data; name=»»csv»»; filename=»»файл.csv»»»);
ЗаписьТекста.ЗаписатьСтро� �у(«Content-Type: text/plain»);
ЗаписьТекста.ЗаписатьСтро� �у(«»);
ЗаписьТекста.Записать(Файл ДляПередачи.ПолучитьТекст( ));
ЗаписьТекста.ЗаписатьСтро� �у(«»);

// закроем разделитель
ЗаписьТекста.ЗаписатьСтро� �у(«—«+boundary+»—«);

ЗаписьТекста.Закрыть();

ФайлОтправки = Новый Файл(имяФайлаОтправки);
РазмерФайлаОтправки = XMLСтрока(ФайлОтправки.Разм� �р());

// передадим данные на сервер
Заголовки = Новый Соответствие();
Заголовки.Вставить(«Content-Type», «multipart/form-data, boundary=»+boundary);
Заголовки.Вставить(«Content-Lenght», РазмерФайлаОтправки);

Попытка
Соединение.ОтправитьДляОб� �аботки(ИмяФайлаОтправки,Ф� �йлРезультат);
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки

Дает ошибку
{Форма.Форма.Форма(96)}: Ошибка при вызове метода контекста (ОтправитьДляОбработки): Неправильный путь к файлу. В чем подвох?

Статья основана на запросе клиента:

выгрузка из 1С на сайт после сбоя происходит с ошибкой — ранее работала корректно. Выдает вот такую штуковину

Лог:

Выгружено товаров: 200

Выгружено картинок: 254

Выгружено предложений: 186

Выгружено документов Ремонт: 355

Ошибка при вызове метода контекста (ОтправитьДляОбработки): Ошибка при выполнении файловой операции  ‘admin/exchange/auto/?type=catalog&mode=file&filename=import_files/44/446dce7e-0f76-11e1-81d4-0015179911ad_6cba4f76-3289-11e4-adc9-0015179911ac.jpeg’: Ошибка работы с Интернет:  неверный формат ответа шлюзу (502). <html>

<head><title>502 Bad Gateway</title></head>

<body bgcolor=»white»>

<center><h1>502 Bad Gateway</h1></center>

<hr><center>nginx-reuseport/1.11.10</center>

</body>

</html>

: Ошибка работы с Интернет:  неверный формат ответа шлюзу (502)

Произошла ошибка: . По причине:

Произошла ошибка на стороне сервера. Не получен статус завершения операции. Файл не отправлен (C:UsersUSR1CV82AppDataLocalTemp1cbitriximport_files44446dce7e-0f76-11e1-81d4-0015179911ad_6cba4f76-3289-11e4-adc9-0015179911ac.jpeg.2).

Обмен не выполнен

Ответ сервера:

<head><title>502 Bad Gateway</title></head>

<body bgcolor=»white»>

<center><h1>502 Bad Gateway</h1></center>

<hr><center>nginx-reuseport/1.11.10</center>

</body>

</html>

Выгрузка товаров завершена с ошибками!!!

Техническая информация:

Выгружено товаров: 200

Выгружено картинок: 254

Выгружено предложений: 186

Выгружено документов Ремонт: 355

{Обработка.ОбменССайтом.МодульОбъекта(326)}: Ошибка при вызове метода контекста (ОтправитьДляОбработки): Ошибка при выполнении файловой операции  ‘admin/exchange/auto/?type=catalog&mode=file&filename=import_files/44/446dce7e-0f76-11e1-81d4-0015179911ad_6cba4f76-3289-11e4-adc9-0015179911ac.jpeg’: Ошибка работы с Интернет:  неверный формат ответа шлюзу (502). <html>

<head><title>502 Bad Gateway</title></head>

<body bgcolor=»white»>

<center><h1>502 Bad Gateway</h1></center>

<hr><center>nginx-reuseport/1.11.10</center>

</body>

</html>

: Ошибка работы с Интернет:  неверный формат ответа шлюзу (502)

Произошла ошибка: . По причине:

Произошла ошибка на стороне сервера. Не получен статус завершения операции. Файл не отправлен (C:UsersUSR1CV82AppDataLocalTemp1cbitriximport_files44446dce7e-0f76-11e1-81d4-0015179911ad_6cba4f76-3289-11e4-adc9-0015179911ac.jpeg.2).

Обмен не выполнен

Ответ сервера:

<head><title>502 Bad Gateway</title></head>

<body bgcolor=»white»>

<center><h1>502 Bad Gateway</h1></center>

<hr><center>nginx-reuseport/1.11.10</center>

</body>

</html>

Просьба подсказать, что тут может быть?

Комментарий разработчиков на UMI.CMS А25 по настройке корректной выгрузки из 1С и исправлению ошибок:

502 ошибка возникает в момент, когда сервер не справляется с нагрузкой.

В вашем случае очень похоже, что картинка 446dce7e-0f76-11e1-81d4-0015179911ad_6cba4f76-3289-11e4-adc9-0015179911ac.jpeg является причиной данной проблемы. Возможно, что её размер превышает допустимые сервером нормы. Или же из-за её размера время загрузки увеличивается настолько, что сервер обрубает процесс.

Первая рекомендация — проверить саму картинку и уменьшить её.

Вторая рекомендация (если это не получится) — получить информацию о причинах сбоя у хостера. У него должны быть логи относительно этой ошибки и, возможно, там будет ответ.

Понравилась статья? Поделить с друзьями:
  • Ошибка при воспроизведении фильма
  • Ошибка при вызове метода контекста открытьформу
  • Ошибка при воспроизведении ростелеком тв wink что делать
  • Ошибка представления яндекс контест
  • Ошибка при вызове ifcplugin signhashsimple ошибка не определена