Exist DB XQuery: как сделать HTTP-запрос POST
Вопрос: Как сделать HTTP-запрос POST к внешней службе в Exist DB, в идеале используя только XQuery?
Мотивация: я хочу взять набор XML-документов в Exist DB и отправить каждый на внешний сервер для обработки, затем я хочу получить результат и сохранить их обратно в Exist DB.
Я могу сделать это с помощью внешнего скрипта, который взаимодействует с REST-интерфейсом Exist DB, но я бы хотел, чтобы все это было в Exist DB и XQuery. Marklogic имеет функцию HTTP-запроса, которая выполняет запросы POST под
xdmp
пространство имен, которое, кажется, выполняет это. Есть ли что-то подобное для Exist-DB?
Бонусные баллы, если тело запроса можно отправить в формате JSON.
1 ответ
eXist-db реализует спецификацию HTTP-клиента EXPath , которая определяет функцию,
http:send-request
, который может выполнять запросы HTTP POST.
Пример кода, включая отправку тела запроса, содержащего JSON, см. В разделе eXist-db, отправка JSON через запрос POST с использованием eXPath Http_module.