|
хранение фабрики XDTO отдельно от метаданных | ☑ | ||
---|---|---|---|---|
0
hawksib
16.02.18
✎
06:02
|
при работе с системой меркурий через api в версии 2 при отправке данных получаю фабрику xdto динамически, в результате на получение WSОпределений и создание самой фабрики тратится по 3 секунды, в сумме 6, фабрику получаю 1 раз перед отправкой для всех запросов она подходит, но хочется уменьшить и это время получения фабрики. с версией api 1.4 всё работает быстро, т.к. WS-ссылка http://api.vetrf.ru/schema/platform/services/ApplicationManagementService_v1.4_production.wsdl добавлена в конфигурацию, чего не возможно добиться с WS-ссылкой от версии 2.0 http://api.vetrf.ru/schema/platform/services/2.0-last/ams-mercury-g2b.service_v2.0_production.wsdl т.к. при добавлении возникает ошибка "набор схем не может содержать схемы с одинаковыми целевыми пространствами имен". Появилась такая мысль, что если где-нибудь хранить полученную фабрику. В хранилище значения, я так понимаю не получается: "Ошибка при вызове конструктора (ХранилищеЗначения): Переданное значение не может быть помещено в ХранилищеЗначения, поскольку не сериализуется или содержит вложенный несериализуемый элемент", функция ЗначениеВСтрокуВНутр(ФабрикаXD) возвращает строку, при передаче которой в функцию ЗначениеИзСтрокиВНутр возвращается неопределено. Кто что думает о моей идеи?
|
|||
1
Dilgorp
16.02.18
✎
06:53
|
(0) Можно хранить xsd схему как макет. И на основании нее создавать объекты XDTO.
Битрикс в своих модулях это практикует. |
|||
2
Dilgorp
16.02.18
✎
06:56
|
//запись схемы в файл
лКаталогДляСхемыXSD = ПолучитьКаталогВременныхФайлов() + Строка(ГСЧ.СлучайноеЧисло()) + "\" + СокрЛП(УзелОбмена.Код); СоздатьКаталог(лКаталогДляСхемыXSD); лфайлСхемыXSD = лКаталогДляСхемыXSD +"\SchemaXSD_Exchange.XSD"; СхемаXSD = ПланыОбмена.Б_ОбменССайтом.ПолучитьМакет("СхемаXSDОбмена"); СхемаXSD.Записать(лфайлСхемыXSD); Параметры.Вставить("ФайлСхемы" , лфайлСхемыXSD); //создание фабрики из файла ПараметрыОбмена.МояФабрикаXDTO = СоздатьФабрикуXDTO(ПараметрыОбмена.ФайлСхемы); |
|||
3
hawksib
17.02.18
✎
07:21
|
(2) че-то не могу сообразить, какой должен быть тип макета?
|
|||
4
arsik
гуру
17.02.18
✎
09:20
|
(0) может тебе просто схему 1.4 из конфигурации удалить? Тогда нормально импортировать 2.0 получится
|
|||
5
hawksib
17.02.18
✎
09:47
|
(4) там такая wsdl, что она даже в чистую конфу не добавляется
|
|||
6
Cyberhawk
17.02.18
✎
11:10
|
(3) Текстовый документ
|
|||
7
Cyberhawk
17.02.18
✎
11:10
|
Или двоичные данные - как удобнее
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |