Потребление веб-сервисов от Oracle PL / SQL



Answers

У меня был этот вызов, и я нашел и установил пакет SOAP API, который предлагает Стен на Oracle-Base. Он обеспечивает отличную функциональность создания конвертов поверх UTL_HTTP.

Однако были некоторые ограничения, относящиеся к вашему вопросу. SOAP_API предполагает, что все запросы являются простыми XML-словами, только иерархией тегов одного уровня.

Я расширил пакет SOAP_API, чтобы клиентский код произвольно вставлял дополнительный тег. Таким образом, вы можете вставить дополнительный уровень, например, продолжить сборку запроса и не забудьте вставить закрывающий тег.

Проблема с пространством имен была медведем для проекта, а разные уровни XML имели разные пространства имен.

Хорошим инструментом отладки, который я использовал, является TCP Trace из Pocket Soap. www.pocketsoap.com/tcptrace/ Вы устанавливаете его как прокси-сервер и смотрите HTTP-запрос и объекты ответа между кодом клиента и сервера.

Сказав все это, нам очень нравится иметь клиента SOAP в базе данных - у нас есть полный доступ ко всем данным и существующему коду PLSQL, можно легко прокручивать курсоры и вызывать внешнее приложение через SOAP при необходимости. Это было намного быстрее и проще, чем развертывание среднего уровня с множеством пользовательских Java или .NET-кода. Удачи и дайте мне знать, если вы хотите увидеть мой расширенный код API SOAP.

Question

В наши дни наше приложение взаимодействует с множеством веб-сервисов. У нас есть собственный пакет, который кто-то написал несколько лет назад, используя UTL_HTTP, и он обычно работает, но для некоторых систем требуется некоторая жесткая кодировка конверта SOAP. Я хотел бы сделать его более общим, но не иметь опыта, чтобы узнать, сколько сценариев мне придется иметь дело. Различия заключаются в том, какие пространства имен должны быть объявлены и в формате элементов. Мы должны обрабатывать как простые вызовы с несколькими параметрами, так и те, которые передают большой объем данных в закодированной строке.

Я знаю, что 10g имеет UTL_DBWS, но в онлайновом режиме нет большого количества случаев использования. Является ли он стабильным и достаточно гибким для общего использования? Документация




Посмотрите эту старшую должность . Я должен согласиться с ответом № 1 этого поста; трудно представить себе сценарий, где это может быть хорошим дизайном.

Не можете ли вы написать услугу или отдельное приложение, которое будет говорить с таблицей в вашей базе данных? Затем вы можете реализовать все, что хотите, в качестве триггера на этой таблице.




Links