|
Передать XML-файл по вебсервису 1С | ☑ | ||
---|---|---|---|---|
0
Paradox
03.09.15
✎
15:34
|
Привет всем. Начал изучать технологию веб-сервисов.
И столкнулся с проблемой. Видимо еще не доучил то, что требуется. Суть в следующем: ВебСервис принимает от "когото" строку с определенной командой, строка в формате XML. выполняет команду...и отправляет ответ так же в строке в формате XML. Вопрос в том, можно ли реализовать передачу не строки, а например именно файла XML? В настройках веб-сервиса указал, что параметр типа String. Например, не требуется в ответах передавать данные из базы. а просто ответ в виде файла XML. Сейчас я принимаю строку, сохраняю ее в XML-файл и потом обрабатываю. Аналогично с ответом - формирую строку в формате XML, предаю ее в ответ. |
|||
1
vicof
03.09.15
✎
15:39
|
"передачу не строки, а например именно файла XML"
и чем отличаются строка и файл хмл? |
|||
2
Гёдза
03.09.15
✎
15:40
|
ответ вебсервиса - это и так xml
|
|||
3
Господин ПЖ
03.09.15
✎
15:44
|
ты в него что-то типа <binary>...</binary> воткнуть хочешь?
|
|||
4
Гёдза
03.09.15
✎
15:45
|
(3) Подозреваю, что произвольный XML внутри XML
|
|||
5
vicof
03.09.15
✎
15:51
|
(4) Тады Как закинуть XML в XDTO?
|
|||
6
Paradox
03.09.15
✎
15:53
|
не, ну в отладке я вижу ответ от веб-сервиса. Строка. Я имел ввиду, что бы в ответ уже готовый XML.
|
|||
7
Paradox
03.09.15
✎
15:53
|
XML-файл не есть строка. Мне кажется это во -первых файл.
|
|||
8
Гёдза
03.09.15
✎
15:54
|
(6) Смотря как вызывать. Если стандартными методами, то ответ - xdto
|
|||
9
Господин ПЖ
03.09.15
✎
15:54
|
масло масляное... soap и затевался чтобы избежать прокладок в виде файликов...
|
|||
10
Paradox
03.09.15
✎
15:56
|
я понимаю, что кому то смешно это рассказывать, но я только осваиваю это. Приведу процедуру веб-сервиса:
Функция GetOrder(zapros) СтрокаXML = zapros; ФайлXML = СформироватьФайлXMLИзФходящейСтроки(СтрокаXML); Операция = ПолучитьЗаголовокСтрокиОтКлиента(ФайлXML); Если Операция = "GetSheet" Тогда //Если получили операцию на запрос наличия товара, то вернем ответ "TakeSheet" с наличием товара TakeSheet = СформироватьОтветНаЗапрос("GetSheet", ФайлXML); //То, что возвращаем клиенту на его запрос Возврат TakeSheet; ИначеЕсли Операция = "ConfirmOrder" Тогда Ответ = ОпределитьВозможностьСозданияЗаказа(ФайлXML); Возврат Ответ; КонецЕсли; УдалитьФайлы(ФайлXML); КонецФункции // GetOrder() Вот в возврате функции строка. Или это как бы и будет на выходе в интеренет - XML файл? |
|||
11
Paradox
03.09.15
✎
15:58
|
и фактический параметр у функции тоже получает строку, но как бы если ее записать в файл - то получим правильный XML файлик =)
|
|||
12
Paradox
03.09.15
✎
16:00
|
вот и думаю, зачем запариватся с записью файла, потом его удалять, когда проще ,если можно, сразу принять файл, прочитать его, и сформировать в ответ тоже файл.
В общем это к тому всё, что я опасаюсь за длину строки. Я не знаю ее ограничения в веб-сервисе. Понятно что 256 символом, а вдруг придет больше. |
|||
13
Господин ПЖ
03.09.15
✎
16:03
|
какой файл? чего принимать? куда удалять?
работа в сервисе идет на уровне объектов и их свойств где в (10) хоть намек на фабрику xdto? |
|||
14
jk3
06.09.15
✎
22:22
|
(12) >В общем это к тому всё, что я опасаюсь за длину строки
Опытным путем было вычислено, что веб-сервис 1С может за 1 раз ~25 МБ данных виде строки принять. |
|||
15
Котокот
06.09.15
✎
23:00
|
(0) "Сейчас я принимаю строку, сохраняю ее в XML-файл и потом обрабатываю."
|
|||
16
Котокот
06.09.15
✎
23:01
|
+(15) Создавай ЧтениеXML, затем для него УстановитьСтроку() и читай себе его, не сохраняя предварительно в файл.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |