![]() |
![]() |
![]() |
|
Отправка больших двоичных файлов на веб сервис 8.3 | ☑ | ||
---|---|---|---|---|
0
pomorcevart
19.03.18
✎
10:10
|
Добрый день!
Есть веб сервис. На который отправляются файлы размером 8 мегабайт. На 8.2 все работает нормально, за секунды. На 8.3 висит и отваливается по тайм ауту. О=Новый WSОпределения("https://sync.delrus.ru/sync/svc.asmx?WSDL",Пользователь,Пароль); С=О.Сервисы[0]; П=Новый WSПрокси(О,С.URIПространстваИмен,С.Имя,С.ТочкиПодключения[0].Имя); П.Пользователь=Пользователь; П.Пароль=Пароль; Ф=П.ФабрикаXDTO; П0=Ф.Создать(Ф.Пакеты.Получить(С.URIПространстваИмен).Получить("PutData00")); Х=Новый ЧтениеТекста(Адрес); П0.db_id=ПолучениеДанныхЧерезВебСервисы.ЧисловойКодБазыДанных(); // Код базы 1С П0.query=Х.Прочитать(); // Запрос в XML Х.Закрыть(); Р=П.PutData00(П0); Вот та последней строке вываливается ошибка: {Справочник.Номенклатура.Форма.ФормаЭлементаУправляемая.Форма(189)}: Ошибка при вызове метода контекста (PutData00): При вызове веб-сервиса произошла ошибка. Ошибка вызова операции сервиса: {https://sync.delrus.ru/}:svc:PutData00(): При вызове веб-сервиса произошла ошибка. Неизвестная ошибка. Ошибка работы с Интернет: Failure when receiving data from the peer: Ошибка работы с Интернет: Failure when receiving data from the peer 8.2 и 8.3 установлены на одном сервере, настройки одинаковые, только порты разные для подключения. Прокси и файрволл проверили, все отключено. Может кто сталкивался с подобным? Заранее благодарю. |
|||
1
breezee
19.03.18
✎
10:44
|
(0) Кто вас учил так переменные называть?(
|
|||
2
pomorcevart
19.03.18
✎
10:48
|
(1) База досталась в наследство.
|
|||
3
DmitrO
19.03.18
✎
10:54
|
Я сталкивался.
Веб-сервер тоже один? У IIS по-дефолту есть ограничение на прием по объему данных в одном запросе. |
|||
4
pomorcevart
19.03.18
✎
11:01
|
(3) Все тоже самое, 2 базы с одинаковыми конфигурациями, на одном сервере, 1 база на 8.3, вторая на 8.2. В первой ошибка, во второй за секунду прикрепляются файлы и все улетает.
|
|||
5
pomorcevart
19.03.18
✎
11:03
|
(3) Насколько я знаю, там около 30 мегабайт ограничение, а тут 8. Хотяяя, если отправляем одно страничный маленький файл, то он и с 8.3 улетает без проблем.
|
|||
6
pomorcevart
20.03.18
✎
08:30
|
Файлы XML даже одинаковые, которые отправляются на веб сервис.
Адрес = КаталогВременныхФайлов() + ИдентификаторЗаявки + ".xml"; ФайлНаУнификацию = Новый ЗаписьXML; ФайлНаУнификацию.ОткрытьФайл(Адрес); ФайлНаУнификацию.ЗаписатьОбъявлениеXML(); ФайлНаУнификацию.ЗаписатьНачалоЭлемента("Запросы"); Для Каждого Эл Из ТаблицаФайловСертификатов.ТаблицаФайлов Цикл Если Эл.Пометка Тогда Ф = Новый Файл(Эл.ИмяФайла); ФайлНаУнификацию.ЗаписатьНачалоЭлемента("Сертификат"); ФайлНаУнификацию.ЗаписатьАтрибут("РегНомер", ""); ФайлНаУнификацию.ЗаписатьАтрибут("УнКод", Формат(ТаблицаФайловСертификатов.ТаблицаФайлов.Индекс(Эл) + 1, "ЧГ=")); ФайлНаУнификацию.ЗаписатьНачалоЭлемента("Файл"); ФайлНаУнификацию.ЗаписатьАтрибут("Расширение", Ф.Расширение); ФайлНаУнификацию.ЗаписатьАтрибут("Файл", Base64Строка(Новый ДвоичныеДанные(Эл.ИмяФайла))); ФайлНаУнификацию.ЗаписатьКонецЭлемента(); ФайлНаУнификацию.ЗаписатьКонецЭлемента(); КонецЕсли; КонецЦикла; ФайлНаУнификацию.ЗаписатьНачалоЭлемента("Запрос"); СтруктураРеквизитов = ПолучитьСтруктуруРеквизитовНаСервере(); Для каждого Элемент Из СтруктураРеквизитов Цикл ФайлНаУнификацию.ЗаписатьАтрибут(Элемент.Ключ, Элемент.Значение); КонецЦикла; ФайлНаУнификацию.ЗаписатьАтрибут("ИдентификаторЗапроса", ИдентификаторЗаявки); ФайлНаУнификацию.ЗаписатьАтрибут("Примечание", ?(ЗначениеЗаполнено(ТаблицаФайловСертификатов.СписокРеквизитов[0].Значение),"Автор запроса: " + ТаблицаФайловСертификатов.СписокРеквизитов[0].Значение,"") + ?(ЗначениеЗаполнено(ТаблицаФайловСертификатов.СписокРеквизитов[1].Значение),"; " + ТаблицаФайловСертификатов.СписокРеквизитов[1].Значение,"") + ?(ЗначениеЗаполнено(ТаблицаФайловСертификатов.СписокРеквизитов[2].Значение),"; комментарий: " + ТаблицаФайловСертификатов.СписокРеквизитов[2].Значение,"")); Для Каждого Эл Из ТаблицаФайловСертификатов.ТаблицаФайлов Цикл Если Эл.Пометка Тогда ФайлНаУнификацию.ЗаписатьНачалоЭлемента("Сертификат"); ФайлНаУнификацию.ЗаписатьАтрибут("УнКод", Формат(ТаблицаФайловСертификатов.ТаблицаФайлов.Индекс(Эл) + 1, "ЧГ=")); ФайлНаУнификацию.ЗаписатьКонецЭлемента(); КонецЕсли КонецЦикла; ФайлНаУнификацию.ЗаписатьКонецЭлемента(); ФайлНаУнификацию.ЗаписатьКонецЭлемента(); ФайлНаУнификацию.Закрыть(); Попытка О=Новый WSОпределения("https://sync.delrus.ru/sync/svc.asmx?WSDL",Пользователь,Пароль); С=О.Сервисы[0]; П=Новый WSПрокси(О,С.URIПространстваИмен,С.Имя,С.ТочкиПодключения[0].Имя); П.Пользователь=Пользователь; П.Пароль=Пароль; Ф=П.ФабрикаXDTO; П0=Ф.Создать(Ф.Пакеты.Получить(С.URIПространстваИмен).Получить("PutData00")); Х=Новый ЧтениеТекста(Адрес); П0.db_id=ПолучениеДанныхЧерезВебСервисы.ЧисловойКодБазыДанных(); // Код базы 1С П0.query=Х.Прочитать(); // Запрос в XML Х.Закрыть(); Р=П.PutData00(П0); Объект.СтатусТовара = ПолучитьЗначениеПеречисленияСтатусТовараНомНаСервере("ОтправленВЦО"); ГСЧ = Новый ГенераторСлучайныхЧисел(); Объект.ИдентификаторЗаявки = ИдентификаторЗаявки; Объект.СтатусТовара = Перечисления.СтатусТовараНом.ОтправленВЦО; ЭтаФорма.Записать(); Элементы.ВыгрузитьВЦО.Доступность = Ложь; Элементы.ПроверитьЗаявку.Доступность = Истина; УстановитьНедоступностьРеквизитовСинхронизации(); Предупреждение("Номенклатура: " + Объект.Наименование + " успешно выгружена на сайт УСН"); ЭтаФорма.Закрыть(); Исключение Сообщить(ОписаниеОшибки()); Объект.ИдентификаторЗаявки = ""; КонецПопытки; |
|||
7
Сияющий в темноте
20.03.18
✎
10:13
|
проверяйти через прокси,что там посылается,сравнивайте заголовки и таймауты
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |