|
Обмен с использованием Web сервисов | ☑ | ||
---|---|---|---|---|
0
Myti
28.09.11
✎
13:45
|
Разбирал недавно чужую конфигурацию, наткнулся на интересный механизм обмена данными с использованием Web сервисов, к сожалению все модули поставляются без текста =((. Так вот возникла идея реализовать что то подобное.....
Собственно принимаю мысли по этому поводу..... |
|||
1
Myti
28.09.11
✎
13:45
|
Есть идея регистрировать измененные объекты стандартным механизмом планами обмена.
|
|||
2
mzelensky
28.09.11
✎
13:49
|
||||
3
Myti
28.09.11
✎
13:50
|
Тут интересна сама структура обмена, вот если делать обмен через xml то там и сериализация и получение объекта, все оп полочкам,,,,а как же обстоят дела у xdto??? У него голые реквизиты..
|
|||
4
sda553
28.09.11
✎
14:08
|
(0) Ну собственно что я вижу своим аналитическим мозгом. Это отсутствие необходимости передавать xml пытаясь вшить ее в XDTO. Зачем? Представляете как будет передаваться 100 наборов записей с 50-тысячами записей. Это приблизительно 1 Гиг. Конечно инеты сейчас толстые, но если эту xml хотя бы банально зазиповать, то мир становится ярче
- Делаем сообщение у которого в одном из параметров наша xml. Но не просто xml а ее zip код, т.е. зазипованная xml. Но естественно zip не засунешь в параметр в виде текста и тут нам на помощь приходит Base64 Итого получаем что то такое <НомерСообшения>6440</НомерСообщения> <НомерПринятого>5800</НомерПринятого> <Отправитель>Москва</Отправитель> <Получатель>Москва</Получатель> <иксэмэлька>TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0 aGlzIHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1 c3Qgb2YgdGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0</иксэмэлька> |
|||
5
Myti
28.09.11
✎
14:14
|
эээээээээээээээ....я в ступоре.....походу (4) наизусть Web сервисы знает
|
|||
6
sda553
28.09.11
✎
14:17
|
(5) А что именно непонятно? Главная идея передавать всю xml в одном из реквизитов объекта xdto
|
|||
7
Myti
28.09.11
✎
14:18
|
(6) - хорошо....вот только еще и механизм кодирования/декодирования BASE64 придется привертыватьт =(
|
|||
8
sda553
28.09.11
✎
14:22
|
(7) Они есть в 1С прямо в встроенном языке
|
|||
9
Myti
28.09.11
✎
14:25
|
(8) - интересненько....попробую сейчас замутить =)))
|
|||
10
probably
29.09.11
✎
17:11
|
(0) У тебя 1с выступает поставщиком web-сервиса или клиентом?
|
|||
11
Myti
30.09.11
✎
14:45
|
Одна 1с поставщиком, другая клиентом...
Я реализовал передачу через BASE64 и ее десериализацию ))) |
|||
12
probably
30.09.11
✎
16:12
|
(11) Сможешь рассказать КАК сделать 1с поставщиком?
Мне достаточно простейшего примера, чтобы при обращении к сервису возвращалось, например, число |
|||
13
Юрий Лазаренко
30.09.11
✎
16:15
|
(12) Давно этим занимался, подробностей не помню. Но диска ИТС с примером мне вполне хватило, чтобы разобраться. Там в принципе ничего сложного нет.
|
|||
14
probably
30.09.11
✎
16:55
|
(13) я как раз с ним и пытаюсь разобраться. У меня, наверное, основная проблема: я не понимаю понятия "пространство имен".
Поставщиком сервиса будет 1с, данные в нем он будет выдавать и получать только простых типов (строки и числа). Что туда написать и как оформить - вот в чем проблема |
|||
15
Юрий Лазаренко
02.10.11
✎
13:22
|
(14) У тебя при вызове веб-сервиса будет вызываться функция общего модуля. В нее в качестве параметров будут передаваться твои "простые типы". Результат функции - строка или ХТМЛ-код.
|
|||
16
sda553
03.10.11
✎
16:56
|
(14) О пространстве имен
Представь себе 1С-ную конфигу. Какую нибудь типовую бухию. В ней есть Расходная накладная, Приходная накладная, перемещение и т.п. документы. И справочники Контрагенты,склады и т.п. и всякие функции типа "ПолучитьОстатки()" Теперь представим конфигу-самописку какую нибудь с нуля. И вот в ней тоже есть Приходная, Расходная, Перемещение, Контрагенты, склады и функция "ПолучитьОстатки" Но естественно конфиги отличаются и у справочников разные реквизиты и документы несовместимы и функция "ПолучитьОстатки" не работает в другой конфиге. И вот, чтобы отличать Контрагента самописки и КОнтрагента типовой - вводят такую вещь как Пространство имен. Оно выглядит как URL адрес, но не имеет к нему никакого отношения. оно просто обозначает некий набор метаданных и функций над ними, чтобы не путать с похожими наборами метаданных и функций |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |