|
хранение фабрики XDTO отдельно от метаданных |
☑ |
0
hawksib
16.02.18
✎
06:02
|
при работе с системой меркурий через api в версии 2 при отправке данных получаю фабрику xdto динамически, в результате на получение WSОпределений и создание самой фабрики тратится по 3 секунды, в сумме 6, фабрику получаю 1 раз перед отправкой для всех запросов она подходит, но хочется уменьшить и это время получения фабрики. с версией api 1.4 всё работает быстро, т.к. WS-ссылка добавлена в конфигурацию, чего не возможно добиться с WS-ссылкой от версии 2.0 т.к. при добавлении возникает ошибка "набор схем не может содержать схемы с одинаковыми целевыми пространствами имен". Появилась такая мысль, что если где-нибудь хранить полученную фабрику. В хранилище значения, я так понимаю не получается: "Ошибка при вызове конструктора (ХранилищеЗначения): Переданное значение не может быть помещено в ХранилищеЗначения, поскольку не сериализуется или содержит вложенный несериализуемый элемент", функция ЗначениеВСтрокуВНутр(Фабрика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
|
Или двоичные данные - как удобнее
|
|