![]() |
![]() |
![]() |
|
v7: HTTP запрос. Не могу отправить файл client.xml. Что здесь не так? | ☑ | ||
---|---|---|---|---|
0
niyahs
15.09.15
✎
13:43
|
Попытка
HTTPxml = СоздатьОбъект("MSXML2.xmlHttp.4.0"); Исключение Сообщить("Не удалось инициализировать Microsoft XML"); СтатусВозврата(0); КонецПопытки; Попытка HTTPxml.Open("POST",Адрес,0); Исключение Сообщить("Не удалось подключиться к: "+Адрес); Возврат ""; КонецПопытки; HTTPxml.setRequestHeader("Content-Type", "multipart/form-data; boundary=&MULTIPART_BOUNDARY"); //Формирование тела сообщения ПараметрыПОСТ = ""; ПараметрыПОСТ = ПараметрыПОСТ + "--&MULTIPART_BOUNDARY" + РазделительСтрок; ПараметрыПОСТ = ПараметрыПОСТ + "Content-Disposition: form-data; name=""@file""; filename="""+КаталогВременныхФайлов()+"client.xml""" + РазделительСтрок; ПараметрыПОСТ = ПараметрыПОСТ + "Content-Type: multipart/xml" + РазделительСтрок; ПараметрыПОСТ = ПараметрыПОСТ + РазделительСтрок; ПараметрыПОСТ = ПараметрыПОСТ + "--&MULTIPART_BOUNDARY--" + РазделительСтрок; //HTTPxml.setRequestHeader("Content-Length", СтрДлина(ПараметрыПОСТ)); Попытка HTTPxml.Send(ПараметрыПОСТ); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; ОтветСервера = HTTPxml.responseText; Ответ сервера возвращает: <A><error>null</error><ver>2</ver></A> |
|||
1
Serginio1
15.09.15
✎
14:28
|
||||
2
magicSan
15.09.15
✎
14:31
|
о кашерный ПОСТ запрос, с утра ктото скулил не мог параметры с файлом отправить.
|
|||
3
niyahs
15.09.15
✎
14:38
|
Нужно для ЕАГИСа. Через curl нормально посылает файл.
|
|||
4
trdm
15.09.15
✎
14:41
|
Астрологи предсказывают неделю веба с 1Сv77....
|
|||
5
Дык ё
15.09.15
✎
14:57
|
а нафига там MSXML2.xmlHttp, если передается multipart/form-data? используй WinHttp.WinHttpRequest же же
|
|||
6
Дык ё
15.09.15
✎
15:06
|
ну и да, имя файла ты передал. а сам файл? :)
|
|||
7
niyahs
15.09.15
✎
15:17
|
Ну так я и указал месторасположение файла.
|
|||
8
Дык ё
15.09.15
✎
15:20
|
ага. а веб-сервис потом должен его сам по имени из твоего каталога временных файлов прочитать? спасибо, поржал :)
|
|||
9
niyahs
15.09.15
✎
15:22
|
Как добавить файл? :)
|
|||
10
niyahs
15.09.15
✎
15:23
|
Закодировать файл?
|
|||
11
niyahs
15.09.15
✎
15:57
|
Попробовал так, всё равно та же ошибка.
ПараметрыПОСТ = ПараметрыПОСТ + "Content-Disposition: form-data; name=""%%40file""; filename=""client.xml""" + РазделительСтрок; ПараметрыПОСТ = ПараметрыПОСТ + """40file=@"+КаталогВременныхФайлов() + "client.xml"""; ПараметрыПОСТ = ПараметрыПОСТ + "Content-Type: multipart/form-data" + РазделительСтрок; ПараметрыПОСТ = ПараметрыПОСТ + РазделительСтрок; ПараметрыПОСТ = ПараметрыПОСТ + "--&MULTIPART_BOUNDARY--" + РазделительСтрок; |
|||
12
Serginio1
15.09.15
✎
16:26
|
(11) Отошли через 1 и посмотри фиддлером. Если что используй
v8: v8: Использование сборок .NET в 1С 7.x и 8.x |
|||
13
Дык ё
15.09.15
✎
16:40
|
||||
14
niyahs
16.09.15
✎
10:25
|
Отсылал через 1с, фиддлер не улавливает.
|
|||
15
niyahs
16.09.15
✎
11:19
|
Спасибо, тема закрыта.
|
|||
16
Serginio1
16.09.15
✎
12:40
|
И как решил?
|
|||
17
niyahs
16.09.15
✎
14:02
|
Через MSXML2.xmlHttp. Я до этого пробовал как здесь https://ru.wikipedia.org/wiki/Multipart/form-data через кодирование, единственно что не добавил последнюю пустую строку. Не внимательность.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |