Добрый день!
Возникают проблемы при попытке обмена данными 1C и Битрикс:
1с выдает такое сообщение:
Выгружено товаров: 1108
Выгружено предложений: 4616
{Обработка.ОбменССайтом(320)}: Ошибка при вызове метода контекста (ОтправитьДляОбработки): Ошибка при выполнении файловой операции ‘bitrix/admin/1c_exchange.php?type=catalog&mode=file&filename=offers.xml’
Произошла ошибка: . По причине:
Произошла ошибка на стороне сервера. Не получен статус завершения операции. Файл не отправлен (C:\Documents and Settings\USER\Local Settings\Temp\1cbitrix\offers.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>
Выгрузка товаров завершена с ошибками!!!
Здравствуйте.
Не выгружаются заказы из битрикс в 1С на теме Аспро.
В 1С ошибка:
{ОбщийМодуль.Б_ОбменССайтомСервер.Модуль(1456)}: Ошибка при вызове метода контекста (ОтправитьДляОбработки): Ошибка работы с Интернет: Transferred a partial file
Не удалось получить данные с сервера. Проверьте правильность адреса сервера, порт, имя пользователя и пароль, а также настройки подключения к Интернет.
Не удалось прочитать данные, загруженные с сервера.
Логин, пароль правильные.
Если переименовать папку /bitrix/modules/aspro.max, то выгрузка заказов в 1С проходят без ошибок.
Как я понимаю, проблема в формировании xml с помощью темы, но непонятно где это происходит. Где тема что добавляет или режет?
-
Вопрос задан
-
672 просмотра
Здравствуйте, Проблему я так и не решил, ошибка остаётся. Установлен модуль 7,0,1,32. Последнее предположение старшего специалиста. То что я так и не сделал. Может кто попробует и проверит.
Это было 29.12.2020 г.
Выполнил проверку ответа, который отдается в 1С. В ответе не совпадет длина в «Content-Length».
Причиной вашей ситуации может быть сторонний функционал.
Чтобы подтвердить или исключить его влияние, предлагаю переименовать папки/файлы, в которых он может быть (если есть эти папки/файлы на сайте):
— /local/
— /bitrix/templates/.default/components/bitrix/
— /bitrix/php_interface/init.php
Также, влияние могут оказывать сторонние модули в папке «/bitrix/modules/».
Отличить стандартный модуль от стороннего можно наличием точки в названии папки модуля. Если точка есть — сторонний модуль. Например, «/bitrix/modules/iblock» — стандартный, а «/bitrix/modules/asd.iblock» — сторонний.
Такие папки тоже нужно переименовать.
Переименовать можно, добавив в начале названия любой символ, например, символ минуса: «-«.
Сначала нужно переименовать все указанные папки/файлы, а уже потом проверять влияние переименования.
Важно!
Переименование нужно делать только по FTP, чтобы иметь возможность вернуть прежние названия и восстановить работу сайта.
Настоятельно рекомендуем это делать в период минимальной посещаемости сайта, так как отключение кастомного функционала может исказить отображение сайта на некоторое время.
Если переименование исправляет ситуацию, то вы можете обратиться к разработчику этого функционала для решения вопроса или оставить папки/файлы переименованными.
Найти точную подпапку с кастомным функционалом, который нарушает работу сайта, можно путем обратного переименования с поочередной проверкой статуса проблемы.
Если это не поможет, то мы продолжим диагностику.
Добрый день!
Возникают проблемы при попытке обмена данными 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>Общество с ограниченной ответственностью "Успех про"</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) В следующий раз прямо с нее и начинай
Среда
Битрикс 12
1С: УТ Версия конфигурации 1С: 2.3.18.1 Управление торговлей для Украины
Ситуация
Обновили модуль интеграции до версии «1С 8.2 УТ 10.3.16.1 ред 2.9.16»
Пытаемся провести выгрузку заказов. Система считает, что все заказы нужно изменять.
Делает большой файл (порядка 18 Мб и пытается заслать его на сервер).
Выгрузка заканчивается с ошибкой 500.
Как диагностировал
1С-ка диагностирует ошибку так
Выгружено заказов: 1 726 Ошибка при вызове метода контекста (ОтправитьДляОбработки): Ошибка при выполнении файловой операции ‘bitrix/admin/1c_exchange.php?type=sale&mode=file&filename=v8_253F_66.zip’: Ошибка работы с Интернет: внутренняя ошибка сервера (500) Internal Server Error.
Произошла ошибка: . По причине: Произошла ошибка на стороне сервера. Не получен статус завершения операции
Залез в логи сервера
(на моем хостинге 1gb — они доступны по ftp в папке logs фалй с именем error…<дата>.log)
Ошибка из логов выглядит так
[warn] [client XX.XX.XX.XXX] mod_fcgid: read data timeout in 150 seconds
[Tue Jun 04 16:05:42 2013] [error] [client XX.XX.XX.XXX] Premature end of script headers: 1c_exchange.php
Что пробовал
(в моем случае не помогло, но может помочь в Вашем)
Настройки среды PHP
Если позволяет хостинг, попробуйте увеличить лимиты среды php
max_execution_time = 600
max_input_time = 600
memory_limit = 256M
post_max_size = 256M
Это настройки из файла php.ini
Настройки сервера
В ходе общения со службой поддержки и гугления вышли на еще одни настройки.
Параметры такие:
FcgidIOTimeout/IPCCommTimeout
Тут я просто попросил службу поддержки сервера увеличить эти параметры.
Ребята сделали, ошибка в логах изменилась, но выгрузка заказаов все равно не произошла
в логах-такое
[Thu Jun 06 18:38:57 2013] [warn] [client XX.XX.XX.XXX] (104)Connection reset by peer: mod_fcgid: error reading data from FastCGI server
[Thu Jun 06 18:38:57 2013] [error] [client XX.XX.XX.XXX] Premature end of script headers: 1c_exchange.php
Потом я дал службе поддержки удаленный доступ к 1с, чтобы они сами смогли проинициировать выгрузку. Ребята из поддержки позанимались еще несколько дней и выдали неутешительный вердикт.
В конце концов служба поддержки хостинга дала такой ответ
Увы, в Вашем случае достигается лимит в 300 секунд процессорного времени на один процесс (т.е. процесс подгрузки на протяжении 5 минут создаёт процессорную нагрузку в 100%). Этот лимит у нас, к сожалению, обойти нельзя.
Вам нужно либо как-то «дробить» процесс импорта на части, чтобы он «помещался» в этот лимит, либо же переносить сайт на VDS — там таких лимитов нет.
На VDS переходить не хотелось.
Я переслал ответ поддержки хостинга в Битрикс — получил ответ, который и помог с выгрузкой заказов
Решение, которое помогло
Тут цитирую ответ службы поддержки Битрикса, после того как все возможные варианты решения со службой поддержки хостинга мы уже испробовали
В модуле обмена с сайтом существует режим принудительной полной выгрузки. Этот режим включается автоматически при любом изменении настройки обмена. В режиме принудительной полной выгрузки изменения заказов 1С игнорируются, происходит полная выгрузка заказов. Режим принудительной полной выгрузки отключается автоматически после первого удачного сеанса обмена.
Режим принудительной полной выгрузки, при необходимости, может быть отключен вручную. Для этого необходимо через меню «Операции» открыть регистр сведений «Настройки обмена с сайтом с принудительной полной выгрузкой» и удалить в нем записи, относящиеся к используемой настройке обмена.
Действия на будущее
Попросил у Битрикса-1С — разбивать файлы заказов на части, как это делается с товарами
Благодарности
Спасибо большое специалистам службы поддержки хостинга http://1gb.ua за участие в решении вопроса
См.также
Если это решение оказалось не вашим случаем, есть еще одно описание проблемной ситуации при выгрузке и её решение
Решение еще одной проблемы с выгрузкой заказов с ошибкой «Не получен статус заврешения операции»
Модератор: SLEDopit
-
TonnyBennet
- Сообщения: 230
- ОС: Ubuntu Server 9.10
Ошибка SQUID
Здравствуйте.
На работе есть сервер UbuntuServer, являющийся шлюзом. На нём крутится SQUID работающий в режиме прозрачного прокси. Есть вебсайт который хостится где то далеко (не в локальной сети). В программе 1С написана процедура обмена данными с этим сайтом. Во время обмена происходит вот такая ошибка;
Код:
{Обработка.ОбменССайтом(306)}: Ошибка при вызове метода контекста (ОтправитьДляОбработки): Ошибка при выполнении файловой операции 'bitrix/admin/1c_exchange.php?type=sale&mode=file&filename=1cbitrix-2c66b138-6f6f-443d-ad1a-4ef03d1bab90.xml'
Произошла ошибка: . По причине:
Произошла ошибка на стороне сервера. Не получен статус завершения операции. Файл не отправлен (C:\Documents and Settings\Артём\Local Settings\Temp\86b3d10c-9619-4507-ae74-bf500380b4fc\1cbitrix-2c66b138-6f6f-443d-ad1a-4ef03d1bab90.xml).
Обмен не выполнен
Ответ сервера:
Authorization: Basic dGVzdDp0ZXN0
User-Agent: 1C+Enterprise/8.1
Host: ееееее
Accept: */*
Cookie: 1=1
Content-Type: application/octet-stream
Content-Length: 6756
Expect: 100-continue
</pre> </blockquote> <p>Возможные проблемы:</p> <ul> <li><p>Отсутствует или неизвестен метод запроса.</p></li> <li><p>Отсутствует URL.</p></li> <li><p>Отсутствует идентификатор HTTP (HTTP/1.0).</p></li> <li><p>Запрос слишком велик.</p></li> <li><p>В запросе POST или PUT отсутствует заголовок Content-Length.</p></li> <li><p>Недопустимый символ в имени узла (hostname), подчёркивания запрещены.</p></li> </ul> <p>Администратор Вашего кэша: <a href="mailto:admin@%W">admin@</a>.</p> <br> </div> <hr> <div id="footer"> <p>Создано Fri, 10 Jun 2011 08:57:46 GMT на (squid/2.7.STABLE7)</p> <!-- ERR_INVALID_REQ --> </div> </body></html>
Не удалось найти/создать контрагента.
Не удалось обработать документы, загруженные с сервера.
Обмен не выполнен
Обмен заказами завершен с ошибками!!!
если нечитабельную часть перевести получается это
Код:
Возможные проблемы:
Отсутствует или неизвестен метод запроса.
Отсутствует URL.
Отсутствует идентификатор HTTP (HTTP/1.0).
Запрос слишком велик.
В запросе POST или PUT отсутствует заголовок Content-Length.
Недопустимый символ в имени узла (hostname), подчёркивания запрещены.
Администратор Вашего кэша:
Если выключить прокси-сервер и трафик просто NAT-ить то обмен проходит без ошибок. В логах squid ничего инересного не нашёл
В чём может быть проблема? Как диагностировать?
-
sash-kan
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
- Контактная информация:
Re: Ошибка SQUID
Сообщение
sash-kan »
TonnyBennet писал(а): ↑
10.06.2011 16:24
В чём может быть проблема?
так варианты перечислены·
TonnyBennet писал(а): ↑
10.06.2011 16:24
Как диагностировать?
tshark-ом/tcpdump-ом сохранить пакеты·
а потом тем же самым инструментом просмотреть содержимое запроса·
Писать безграмотно — значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
-
TonnyBennet
- Сообщения: 230
- ОС: Ubuntu Server 9.10
Re: Ошибка SQUID
Сообщение
TonnyBennet »
Мда, не сильно меня радует копание в пакетах. Может есть более простые методы решения проблемы?
Загуглил по запросу <!— ERR_INVALID_REQ —> — это часть ошибки которую 1С выкидывает. Из дельного встретил только вариант с уменьшением MTU. Уменьшил — не заработало.
-
sash-kan
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
- Контактная информация:
Re: Ошибка SQUID
Сообщение
sash-kan »
TonnyBennet писал(а): ↑
14.06.2011 16:30
Может есть более простые методы решения проблемы?
ну, можно ходить по разным форумам и спрашивать, какая из перечисленных ошибок скорее всего наличествует в формируемом кастомной конфигурацией http-пакете· из перечисленных proxy-сервером:
QUOTE писал(а):Отсутствует или неизвестен метод запроса.
Отсутствует URL.
Отсутствует идентификатор HTTP (HTTP/1.0).
Запрос слишком велик.
В запросе POST или PUT отсутствует заголовок Content-Length.
Недопустимый символ в имени узла (hostname), подчёркивания запрещены.
в любом случае интересно: а что вы будете делать, если узнаете _точно_, какая(-ие) из ошибок присутствует(-ют)? у вас есть возможность исправить конфигурацию 1s?
Писать безграмотно — значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
-
Denjs
- Сообщения: 1685
- ОС: SuSe 10.2
Re: Ошибка SQUID
Сообщение
Denjs »
sash-kan писал(а): ↑
14.06.2011 23:04
в любом случае интересно: а что вы будете делать, если узнаете _точно_, какая(-ие) из ошибок присутствует(-ют)? у вас есть возможность исправить конфигурацию 1s?
возможно получится донастроить/изменить конфигурацию прокси под специфические пакеты 1цэ?
кроме того — хотелось бы видеть тех-подробности того _КАК_ИМЕННО_ отправляется файл на сервер? вы это делаете через http-запросы? вы это делаете через веб-сервисы? вы это делаете через ftp-запросы? ещё как?
Отсутствует или неизвестен метод запроса.
у вас в адресе указаны переменные соответсвующие get-запросу… это судя по строке
Ошибка при выполнении файловой операции ‘bitrix/admin/1c_exchange.php?type=sale&mode=file&filename=1cbitrix-2c66b138-6f6f-443d-ad1a-4ef03d1bab90.xml’
а вот файл наверное отправляется как POST… что в скрипте указано?
у вас последняя версия платформы? 8.1 с января этого года прекратили поддерживать. обновляйтесь и повторяйте ваши тесты снова.
а что говорит техподдержка 1Цэ на данную ругань?
я правильно понимаю, что у вас все, кроме 1цэшной обработки работает? т.е. вы можете скачивать и аплоадить файлы на хост? прикрепить сообщение к своему посту здесь можете?
QDroid — Среда исполнения и фреймворк для QtScript.
OTPD — Открытые драйвера промышленных принтеров чеков и этикеток (кроссплатформенная подсистема печати).
-
TonnyBennet
- Сообщения: 230
- ОС: Ubuntu Server 9.10
Re: Ошибка SQUID
Сообщение
TonnyBennet »
sash-kan писал(а): ↑
14.06.2011 23:04
в любом случае интересно: а что вы будете делать, если узнаете _точно_, какая(-ие) из ошибок присутствует(-ют)? у вас есть возможность исправить конфигурацию 1s?
Я могу сформулировать задание для программиста 1С. И он будет его исправлять. Просто никаких нареканий на работу прокси-сервера ни у кого нет. А тут такой косяк! Я так думаю что просто 1С формирует кривые пакеты или сайту что-то не нравится.
P.S. Я сисадмин. Программист 1С — приходящий человек. Люди, которые занимаются разработкой сайта вообще сидят в другом городе. Общение иногда затруднено.
-
TonnyBennet
- Сообщения: 230
- ОС: Ubuntu Server 9.10
Re: Ошибка SQUID
Сообщение
TonnyBennet »
Denjs писал(а): ↑
14.06.2011 23:26
sash-kan писал(а): ↑
14.06.2011 23:04
в любом случае интересно: а что вы будете делать, если узнаете _точно_, какая(-ие) из ошибок присутствует(-ют)? у вас есть возможность исправить конфигурацию 1s?
возможно получится донастроить/изменить конфигурацию прокси под специфические пакеты 1цэ?
кроме того — хотелось бы видеть тех-подробности того _КАК_ИМЕННО_ отправляется файл на сервер? вы это делаете через http-запросы? вы это делаете через веб-сервисы? вы это делаете через ftp-запросы? ещё как?
Отсутствует или неизвестен метод запроса.
у вас в адресе указаны переменные соответсвующие get-запросу… это судя по строке
Ошибка при выполнении файловой операции ‘bitrix/admin/1c_exchange.php?type=sale&mode=file&filename=1cbitrix-2c66b138-6f6f-443d-ad1a-4ef03d1bab90.xml’
а вот файл наверное отправляется как POST… что в скрипте указано?
у вас последняя версия платформы? 8.1 с января этого года прекратили поддерживать. обновляйтесь и повторяйте ваши тесты снова.
а что говорит техподдержка 1Цэ на данную ругань?
я правильно понимаю, что у вас все, кроме 1цэшной обработки работает? т.е. вы можете скачивать и аплоадить файлы на хост? прикрепить сообщение к своему посту здесь можете?
Как именно отправляется файл я точно сказать не могу. Снифил пакеты при помощи tcpdump-а и потом из под windows смотрел wireshark-ом. В дампе присутствуют только GET и POST запросы.
Что указано в скрипте тоже сказать не могу. Если есть необходимость то могу попросить выслать мне код… а я его тут размещу…
Платформа 8.1. И сказать что срочно нужно обновить платформу я не могу. Стоит это, как я понимаю, не малых денег.
С поддержкой 1С по данному вопросу не свзывался. Но думаю что они пошлют меня разбираться в настройках своего шлюза ибо ошибку он выдаёт!
У меня для обмена с сайтом есть несколько обработок: заказы, прайсы, и т.д. Проблема возникает только в одной из них! Скажите пожалуйста о каком сообщении идёт речь?
Я уже подумываю о том, чтобы завернуть трафик к этому хосту мимо прокси-сервера. Вот только не сильно хочется заворачивать мимо прокси трафик от всего хоста. Скажите пожалуйста, можно ли средствами iptables натить трафик идущий не на какой-то конкретный IP а к скрипту, например к www.ya.ru/test.php ?
-
us127
- Сообщения: 15
- ОС: Debian Squeeze
Re: Ошибка SQUID
Сообщение
us127 »
можно ли средствами iptables натить трафик идущий не на какой-то конкретный IP а к скрипту, например к www.ya.ru/test.php ?
Попробуй модуль string. Типа
iptables -I PREROUTING -i eth0 -s 192.168.0.2 -m string —string «простой текст» -j RETURN
Но если данные будут идти не в одном пакете, то зафейлится все. Тогда надо заморачиваться с метками — можно унаследовать метки через CONNMARK. Это в теории должно работать.
ИМХО проще сделать
iptables -I PREROUTING -i eth0 -s 192.168.0.2 -d [ IP сайта ] -j RETURN
iptables -A PREROUTING -i eth0 -s 192.168.0.2 ! -d 192.168.0.0/24 -j REDIRECT —to-ports 3128
тогда на сквид не завернется.
-
TonnyBennet
- Сообщения: 230
- ОС: Ubuntu Server 9.10
Re: Ошибка SQUID
Сообщение
TonnyBennet »
us127 писал(а): ↑
15.06.2011 17:55
можно ли средствами iptables натить трафик идущий не на какой-то конкретный IP а к скрипту, например к www.ya.ru/test.php ?
Попробуй модуль string. Типа
iptables -I PREROUTING -i eth0 -s 192.168.0.2 -m string —string «простой текст» -j RETURNНо если данные будут идти не в одном пакете, то зафейлится все. Тогда надо заморачиваться с метками — можно унаследовать метки через CONNMARK. Это в теории должно работать.
ИМХО проще сделать
iptables -I PREROUTING -i eth0 -s 192.168.0.2 -d [ IP сайта ] -j RETURN
iptables -I PREROUTING -i eth0 -s 192.168.0.2 ! -d 192.168.0.0/24 -j REDIRECT —to-ports 3128
тогда на сквид не завернется.
Спасибо конечно за совет!
Модуль string это действительно хорошо, но вот данные действительно идут в разных пакетах.
По поводу примера iptables — я мимо squid пущу весть трафик к моему сайту… а это порядка 300 МБ в день пройдёт мимо сборщика статистики lightsquid. Я рассматриваю этот вариант если не найду решение проблемы.
-
us127
- Сообщения: 15
- ОС: Debian Squeeze
Re: Ошибка SQUID
Сообщение
us127 »
TonnyBennet писал(а): ↑
15.06.2011 18:03
us127 писал(а): ↑
15.06.2011 17:55
можно ли средствами iptables натить трафик идущий не на какой-то конкретный IP а к скрипту, например к www.ya.ru/test.php ?
Попробуй модуль string. Типа
iptables -I PREROUTING -i eth0 -s 192.168.0.2 -m string —string «простой текст» -j RETURNНо если данные будут идти не в одном пакете, то зафейлится все. Тогда надо заморачиваться с метками — можно унаследовать метки через CONNMARK. Это в теории должно работать.
ИМХО проще сделать
iptables -I PREROUTING -i eth0 -s 192.168.0.2 -d [ IP сайта ] -j RETURN
iptables -A PREROUTING -i eth0 -s 192.168.0.2 ! -d 192.168.0.0/24 -j REDIRECT —to-ports 3128
тогда на сквид не завернется.Спасибо конечно за совет!
Модуль string это действительно хорошо, но вот данные действительно идут в разных пакетах.
По поводу примера iptables — я мимо squid пущу весть трафик к моему сайту… а это порядка 300 МБ в день пройдёт мимо сборщика статистики lightsquid. Я рассматриваю этот вариант если не найду решение проблемы.
Попробуй все же с CONNMARK. Смысл: метить пакеты, содержащие имя скрипта, а потом по этой метке НЕ заворачивать на сквид. Типа (могу ошибиться с таблицами):
iptables -A PREROUTING -t mangle -i eth0 -p tcp —src $local_ip —dst $site —dport 80 -m string —string «http://www.ru/index.html» —algo kmp -j CONNMARK —set-mark 127
iptables -A PREROUTING -t mangle -i eth0 -p tcp —src $local_ip —dst $site —dport 80 -j CONNMARK —restore-mark
iptables -A PREROUTING -t mangle -i eth0 -p tcp —src $local_ip —dst $site —dport 80 -m connmark —mark 127 -j LOG
Так работает метка для всего соединения, содержащая string value. Но почему-то только в mangle. Если третье правило заменить на
iptables -A PREROUTING -t nat -i eth0 -p tcp —src $local_ip —dst $site —dport 80 -m connmark —mark 127 -j LOG
то не срабатывает. По правилам прохождения пакетов идет через мангл и потом в нат. Где то я заблуждаюсь возможно.
Это тебе на затравку.
-
Denjs
- Сообщения: 1685
- ОС: SuSe 10.2
Re: Ошибка SQUID
Сообщение
Denjs »
TonnyBennet писал(а): ↑
15.06.2011 15:58
Платформа 8.1. И сказать что срочно нужно обновить платформу я не могу. Стоит это, как я понимаю, не малых денег.
достаточно сказать что «8.1 больше не поддерживается«.
Стоит это нисколько, если у вас конечно есть подписака на ИТС и 1С лицензионный.
технически — это простое обновление бинарников. Конфигурация (по крайней мере по заявлениям 1цешнегов) адаптации не требует и будет работать как раньше.
Полагаю даже на ИТС у вас должны быть файлы для обновления. Уточните у франча у которого вы находитесь на обслуживании. И не важно что программизд1Цэ — приходящий. Есть техподдержка и это все можно уточнить на линии консультаций.
Получите обновление, установите, обновите на одной из тестовых машин платформу 1С, склонируйте БД, запстите на это все на тестовой машине, поиграйтесь… и потом будете ещё думать…
С поддержкой 1С по данному вопросу не свзывался. Но думаю что они пошлют меня разбираться в настройках своего шлюза ибо ошибку он выдаёт!
А вы свяжитесь для начала. !!!!! Потому что ваш прокси-то тоже нареканий ни у кого не вызывает, и ругается он — на «неправильно сформированные пакеты». Кто пакеты формировал? 1цэ. Заодно узнаете с какими прокси 1цэ работает хорошо, а с каким может и «не совместим вовсе». тоже будет повод поискать отличия.
на миста.ру ещё поспрашивайте. На «территория1С» тоже зайдите.
А может и выяснится, что мол были у них там проблемы, да вот исправили…
Я так с веб-сервисами геморроился неделю. А потом оказалось что «вы знаете в данной версии есть ошибки — обновитесь пожалуйста» — и все зашуршало.
Заодно и узнаете о том как и сколько стоит обновляться.
ну что вы в самом деле то?! глюки в платформе 1цэ8.Х — это самое милое и обыденное дело. Работать как правило надо всегда с самой последней платформой (после тестов конечно, а то иногда бывает что новая версия глючнее предыдущей)
QDroid — Среда исполнения и фреймворк для QtScript.
OTPD — Открытые драйвера промышленных принтеров чеков и этикеток (кроссплатформенная подсистема печати).
-
TonnyBennet
- Сообщения: 230
- ОС: Ubuntu Server 9.10
Re: Ошибка SQUID
Сообщение
TonnyBennet »
Программисту поставлена приоритетная задача на обновление платформы и подробное изучение этой проблемы. Он будет работать в понедельник.Пока завернул тарафик мимо проси-сервера.
Во вторник отпишусь что получилось.
-
TonnyBennet
- Сообщения: 230
- ОС: Ubuntu Server 9.10
Re: Ошибка SQUID
Сообщение
TonnyBennet »
Я полагаю что программист 1С запускал обмен в режиме отладки и получил полный текст ошибки а именно:
Spoiler
ERROR
The requested URL could not be retrieved
While trying to retrieve the URL:
The following error was encountered:
Zero Sized Reply
Squid did not receive any data for this request.
Тут написано что скорее всего документ действительно пустой. http://www.squid-cache.org/mail-archive/sq…00010/0445.html как Вы думаете это сайт мне отдаёт «пустой» ответ и SQUID его воспринимает как ошибку или всё таки 1C делает «пустой» запрос? Можно ли как-нибудь разрешить в SQUID пропускать пустые запросы?
sash-kan писал(а): ↑
23.06.2011 13:52
TonnyBennet писал(а): ↑
23.06.2011 12:53
порочный круг какой-то
ага, вы начали понимать, что proxy-сервер — это зло·
поздравляю, вы на правильном пути·
Это «зло» помогает мне экономить до 2 ГБ трафика в день!!! И как мне кажется быстрее работает за счёт кеширования… да и проблем со сбором статистики нет! Поставил lightsquid и радуюсь
-
about
- Сообщения: 1
Re: Ошибка SQUID
Сообщение
about »
Всем привет.
В сети работает squid. тоже не загружался каталог на сайт, ошибка как у ТС
Выгружено товаров: 10
Выгружено файлов: 0
Выгружено предложений: 10
{Обработка.ОбменССайтом(320)}: Ошибка при вызове метода контекста (ОтправитьДляОбработки): Ошибка при выполнении файловой операции ‘bitrix/admin/1c_exchange.php?type=catalog&mode=file&filename=import.xml’
Произошла ошибка: . По причине:
Произошла ошибка на стороне сервера. Не получен статус завершения операции. Файл не отправлен (C:\Documents and Settings….
….
Выгружено товаров: 1 931
Выгружено файлов: 0
Выгружено предложений: 1 920
Произошла ошибка на стороне сервера.
Обмен не выполнен
Ответ сервера:
Не введено название.
Выгрузка товаров завершена с ошибками!!!
Изменения заказов не зарегистрированы. Выгрузка заказов не произведена.
Временно решил проблему загрузкой каталога на сайт в обход сквида правилом iptables:
-A PREROUTING -s 192.168.1.10/32 -d 100.100.100.100 -p tcp —dport 80 -j ACCEPT
(192.168.1.10/32 — комп с которого выполняется выгрузка, 100.100.100.100 — адрес сервера в инете)
-
little Jon
- Сообщения: 212
Re: Ошибка SQUID
Сообщение
little Jon »
ИМХО конечно, Но я бы пошел бы по такому пути, я бы сделал бы dump трафика сессии до сквида и после сквида, и сравнил бы результаты. С большой степенью вероятности сквид отдает 1с какой-то не обновленный файлик из кеша, или этот файлик в очереди застрял. Я очень давно не копался в конфигах сквида, но если мне не изменяет память, там есть возможность отключить кеширование для определенных адресов. Проксирование != кеширование, Понятно, что ставить прокси в связку сайт бд это, либо бред сивой кобылы, либо что то очень специально заточенное. Вообще-то удивительно другое, Как Вы в этой ситуации ухитрились так долго успешно работать?!
Linuxforum@conference.jabber.ru