Принцип загрузки данных в БИТ.Аппетит — различия между версиями
ASLezhnin (обсуждение | вклад) |
ASLezhnin (обсуждение | вклад) |
||
| Строка 49: | Строка 49: | ||
|<nowiki>http://hostname:9870/</nowiki><b>trans_status</b>?id=1231 | |<nowiki>http://hostname:9870/</nowiki><b>trans_status</b>?id=1231 | ||
|- | |- | ||
| − | |Пример ответа в случае успеха | + | |Пример ответа<br>в случае успеха |
|<syntaxhighlight lang="xml"> | |<syntaxhighlight lang="xml"> | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
| Строка 65: | Строка 65: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
|- | |- | ||
| − | |Пример ответа в случае ошибки | + | |Пример ответа<br>в случае ошибки |
|<syntaxhighlight lang="xml"> | |<syntaxhighlight lang="xml"> | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
Версия 21:40, 8 сентября 2014
Процесс загрузки данных в БИТ.Аппетит представляет из себя отправку запроса с данными в формате XML, которая инициирует транзакцию загрузки. Сама транзакция загрузки может происходит длительное время, поэтому происходит не в контексте запроса, а в фоновом потоке. Для индикации процесса загрузки сервер предоставляет ряд служебных методов, которые будут описаны далее.
Правила формирования запроса к серверу БИТ.Аппетит
Запрос для загрузки данных в БИТ.Аппетит представляет из себя отправку POST запроса серверу БИТ.Аппетита по адресу http://hostname:9870/xml_load, с содержащимися данными в формате XML. Сам формат отправки может быть реализован 2 способами.
- POST запрос формируется в режиме multipart/form-data. POST параметр соответствующий XML файлу, должен называться "in_file".
- POST запрос формируется так что, вся секция параметров содержит одну строку с XML данными.
Общий формат XML данных содержащихся в запросе, должен соответствовать следующему шаблону.
<?xml version="1.0" encoding="utf-8"?> <!-- dateuploading - время отправки запроса code - код обмена организации org_name - Если атрибут "code" пустой, то поиск целевой организации осуществляется по имени (необязательный параметр) --> <back_to_ef dateuploading="2010-10-30 15:00:00" code="123" org_name="Company"> ... XML узлы. </back_to_ef>
В случае успешной регистрации транзакции сервер выдает ответ, где содержится ID транзакции. <?xml version="1.0" encoding="UTF-8"?>
<response> <result>OK</result> <!-- Элемент "id" содержит уникальный код транзакции --> <id>3232</id> </response>
Отслеживание статуса транзакции загрузки данных в БИТ.Аппетит
Для отслеживания статуса транзакции предназначены следующие запросы. Запрос информирует о ходе выполнения транзакции. Сервер выдает процент от выполненной транзакции.
| Страница | trans_status |
| Параметры |
|
| Пример запроса | http://hostname:9870/trans_status?id=1231 |
| Пример ответа в случае успеха |
<?xml version="1.0" encoding="UTF-8"?> <response> <result>OK</result> <!-- Процент ходы выполнения транзакции. При значении 100 задача считается выполненной. --> <percent>95</percent> <!-- Количество предупреждений для данной транзакции. Предупреждение - это некритическая ошибка не приводящая к откату транзакции. --> <warnings>2</warnings> </response> |
| Пример ответа в случае ошибки |
<?xml version="1.0" encoding="UTF-8"?> <response> <result>ERROR</result> <!-- В случае критической ошибки выдается сообщение об ошибке, а транзакция откатывается (rollback). --> <description>Описание ошибки</description> </response> |