2014-12-16 3 views
2

можно ли вызвать веб-службу из выражения XQuery, как вы можете сделать с пользовательскими функциями таблицы в SQL?Вызовите веб-службу из xquery

Единственное, что я нашел для этого, - это расширение для XQuery1.0, называемое средством веб-служб. Существует ли более стандартизованный способ вызова веб-сервисов?

+0

Не могли бы вы просветить меня (и, возможно, других) то, что вы видите как веб-сервис, и каким образом оно относится к «Пользовательским функциям таблицы в SQL». Пожалуйста, объясните в деталях, что вы на самом деле хотите сделать. – dirkk

+0

веб-сервис как обычный SOAP-HTTP-Web-сервис, в SQL можно определить пользовательскую функцию, которая может быть встроена в SQL-запрос и вызывать SOAP-HTTP WS и возвращать результаты в качестве переменных запроса, поэтому WS Результаты вызова могут быть немедленно использованы в SQL Query. Например, в SQL INSERT в предложении VALUES я могу вызвать веб-службу, и скалярные результаты используются как значения, которые вставляются в таблицу как VALUES. Есть ли аналогичный способ вызова WS из XQuery – sakal

+0

. Кажется, что ваш «веб-сервис» - это не что иное, как HTTP-запрос, я прав. Существует модуль EXPath (http://expath.org/modules/http-client/), который реализуется несколькими поставщиками. Таким образом, это зависит от того, какой процессор XQuery вы используете. – dirkk

ответ

1

Вы можете запросить HTTP-запросы от XQuery в eXist, используя http-клиентскую библиотеку EXPath, указанную @dirkk. Что касается SOAP, то в eXist нет специальной поддержки, но это только потому, что вам не нужно ничего особенного. Сообщения SOAP - это только XML-документы, поэтому вы можете создавать свои сообщения в XQuery, как и любой другой документ, также вы можете обрабатывать ответ SOAP, поскольку это всего лишь XML-документ, который возвращается от вызова к http-клиенту.

Смежные вопросы