| ||||
![]() | ![]() | |||
![]() | ![]() | ![]() | ||||||
| ||||||
| XML інтерфейс
Загальні поняттяБазовим інтерфейсом системи Депозитарію є XML інтерфейс, який забезпечує максимальну функціональність при роботі з системою. Призначення XML-інтерфейсу:
Взаємодія між прикладною програмою та Депозитарієм відбувається шляхом обміну між ними повідомленнями в форматі XML. Усі повідомлення повинні відправлятися методом "POST" з використанням типу даних "text/xml". Крім цього в заголовку кожного HTTP запиту передаються параметри необхідні для авторизації користувача. Інтерфейс проводить авторизацію користувача і створює для нього сесію роботи з системою. У випадку якщо користувач не проходить авторизацію інтерфейс формує відповідний код помилки і припиняє обробку даного повідомлення. Якщо авторизація пройшла успішно, інтерфейс виконує отриманий запит. Результат виконання запиту повертається користувачеві також у форматі XML. Терміни та визначення XML – протоколуПравильний XML-документПравильний XML-документ (well-formed XML-документ) це документ, який відповідає стандартам оформлення XML-документів, які викладено на http://www.w3.org/TR/REC-xml (англійською мовою) або на http://www.rol.ru/news/it/helpdesk/xml01.htm (російською мовою). Повідомлення та повідомлення-відповіді мають бути правильними XML-документами. ЗапитЗапит – мінімальна одиниця операцій з базою даних. Це означає, що він має бути виконаний лише цілком і без помилок, інакше запит вважається помилковим. Кожен запит отримує свій унікальний ідентифікатор. В залежності від типу запиту ідентифікатор або генерується автоматично, або запитується в користувача. В XML запит – це один XML-елемент (ім’я запиту є ім’ям тегу цього елементу, ідентифікатор записується в атрибут id). Запит складається з списку параметрів та необов’язкової області даних. Виділяють дві групи запитів:
В першому випадку відповідь вміщуватиме дані, задля отримання яких було сформовано запит. В другому випадку, якщо модифікація даних пройшла успішно, відповідь буде пустою. За допомогою запитів система веде журнал дій користувача. Запиту можна задати мнемонічне ім’я за допомогою атрибута alias. Цей атрибут буде скопійовано в повідомлення відповідь. ПовідомленняПовідомлення - це мінімальний пакет, який може бути відісланий клієнтом на сервер. Воно складається з деякого числа запитів, кожен з яких обробляється незалежно. Якщо повідомлення складається з великої кількості запитів з однаковим ім’ям, для спрощення співставлення відповіді з запитом останньому можна задати мнемонічне ім’я. Існує обмеження на кількість запитів , які виконані з помилками, в одному повідомленні. При виникненні критичної кількості помилок Депозитарій генерує помилку №16 TOO_MANY_ERRORS, яка повертається користувачеві в повідомленні-відповіді. Виконання запитів при цьому завершується. Як результат обробки повідомлення формується та відсилається клієнту повідомлення-відповідь. Повідомлення-відповідьПовідомлення-відповідь – результат обробки повідомлення користувача сервером. Повідомлення-відповідь складається з списку відповідей (результатів обробки запитів) або повідомлення про полики (у тому випадку, якщо повідомлення було отримане у некоректному форматі або в результаті його обробки відбулись помилки загального характеру, тобто помилки, що не пов’язані з конкретним запитом). На кожен запит формується відповідь. Відповіді записуються в повідомлення відповідь в тому ж порядку, в якому були записані запити у повідомленні. В тому випадку, коли не вдається обробити конкретний запит, на місце відповіді записується повідомлення про помилку. Повідомлення-відповідь є правильним (well-formed) XML-документом. ВідповідьВідповідь – XML-елемент у повідомленні-відповіді. Відповідь генерується в результаті виконання запиту. Ім’я тегу відповіді співпадає з ім’ям запиту. Зміст елементу відповіді повністю залежить від того, який запит виконувався. Якщо запит був сформований для отримання даних тег вміщуватиме дані згідно запиту. Якщо запит був сформований для модифікації даних він у більшості випадків буде пустим. Якщо в результаті обробки запиту виникла помилка, у відповіді буде присутній елемент error , який складатиметься з коду помилки та діагностичного повідомлення. Одночасно з елементом error у відповіді може бути розміщена частина запиту, в якій відбулася помилка. В цьому випадку елемент error включається у цей фрагмент коду запиту. Робота з XML інтерфейсом ДепозитаріюІнформація про інтерфейсЗапити в ХML форматі до системи Депозитарію необхідно відправляти за адресою: http://depos.gs1ua.org/interface/callДо демо системи Депозитарію: http://depdemo.gs1ua.org/interface/call Також існує можливість отримувати результат(тільки для запитів GetGLN та GetGTIN) у форматі XML-схем EAN·UCC версії 1.3.1 через інтерфейс, який знаходиться за адресою: Опис запитів, доступних користувачам, представлений у вигляді ХML-схеми та доступний за адресою: Робота з XML консоллю депозитаріюДля ознайомлення з XML протоколом краще всього використовувати XML консоль в розділі "Мій Депозитарій". Модуль XML консолі призначений для виконання будь-яких запитів до системи депозитарію. Використовуючи цей модуль, користувач може виконувати запити, доступні через XML інтерфейс для цього користувача. Цей модуль може використовуватися для відпрацювання XML-повідомлень при налагодженні інформаційної системи користувача для зв'язку з депозитарієм. XML консоль дозволяє користувачеві написати за допомогою вбудованого редактора текст будь-якого запиту у форматі XML, виконати його та одержати результат його роботи у форматі XML. Для отримання результату повідомлення необхідно натиснути кнопку „Відправити запит”. У полі „Результат запиту” формується повідомлення-відповідь за механізмом, який описано в пункті „Повідомлення-відповідь”. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Всі права захищені © Асоціація "GS1 Україна" | |||
| Розробка та дизайн Information Technology Services | |||