Уважаемая колеги!
Обращаюсь к вам со следующей задачей:
1.Надо произвести запрос к внешнему API-сервису с конкретными входными параметрами.
2. В ответ получаем данные в формате XML․
3.В качестве результата вывести данные из полученного файла на странице пользователя.
4. Следующим шагом сохранить эти данные в БД.
Есть у вас шаблон для реализации описанной задачи или какие-либо рекомендации по ее выполнению?
Нравится
Nerses, в дизайнере бизнес-процессов есть элемент вызова веб-сервиса, но в нынешней реализации он поддерживает только JSON, а не XML.
То есть Вам нужно будет обращаться к сервису и получать XML-ответ кодом. Пример есть тут.
Затем нужно будет разобрать полученный результат. Если формат всегда одинаковый и совсем простой, то можно использовать обычные строковые функции, но лучше будет воспользоваться какой-нибудь библиотекой по работе с XML.
По третьему и четвёртому пунктам, исходя из серверной архитектуры системы, будет уместнее поменять их местами: сначала сохранить запись или записи в базу в нужный объект, а уже потом стандартными средствами отабразить в браузере пользователю на преднстроенной, автогенерируемой странице или карточке этой записи в соответствующем разделе.
Поскольку работа с XML будет выполнятся на C# из блока-скрипта, сохранение в базу можно сделать там же, используя класс Insert или Entity.Save. Второй вариант позволит при сохранении запустить какую-то дополнительную логику на объекте или в БП на событии создания, первый сохраняет в обход срабатывания событий.
То есть будет БП из двух элементов: скрипта, выполняющего всю работу и блока отображения пользователю страницы.
А вот если бы это был вызов веб-сервиса, возвращающего JSON, можно было бы без написания кода произвести сохранение в базу полученной коллекции элементом создания записи. Но пока для XML такого нет.
В системе для пунктов 1-3 нет специальных классов, вы реализуете эту функциональность используя либо стандартные классы .net, либо подключая любые библиотеки которыми вы хотите пользоваться.