Oracle から Web サービスを直接呼び出すのは簡単です。
リクエストを作成し、レスポンスを解析するための XML/XSLT/XQuery の適切なサポートがあります ( XML DB ) 。
Oracle には、HTTP/HTTPS リクエスト ( UTL_HTTP
package ) を処理するための API があります。
そのため、Oracle から Web サービスを呼び出すことにした場合、SOAP および REST Web サービスは可能であり、比較的簡単です。
サンプル コードは、StackOverflowのこの回答にあります。
更新 - コメントへの回答
明確にするために、上記の例は、PL/SQL に実装されているため、「データベース クエリ レベル」では機能しません。Oracle データベース エンジンには、次の 2 つの異なる言語のサポートがネイティブに組み込まれています。
この2つのことは本当に異なります。SQL エンジンと PL/SQL エンジンの間のコンテキストの切り替えによって影響を受けるパフォーマンスに関する一般的な質問もあり、そのほとんどは不適切なプロシージャの設計が原因です。
手続き型言語としての PL/SQL は、組み込みパッケージのセットとして Oracle によって提供される API の豊富なセットにアクセスできます。特に、ネットワーク通信プロトコルと標準UTL_TCP
に直接関連するパッケージがいくつかあり ます。 UTL_URL
UTL_SMTP
UTL_MAIL
UTL_INADDR
UTL_HTTP
HTP
HTF
DBMS_LDAP
Web 上での PL/SQL コードの公開をサポートするために提供される一連の API があることを言う必要があります。OWA_
xxxx パッケージのセットは、を介したアクセスをサポートしていますmod_plsql
。もう 1 つのことは、Oracle XML DB での SOAP Web サービスの公開のサポートです。
スケジュールに従って Oracle から Web サービスにデータをアンロードする必要がある場合はDBMS_SCHEDULE
、DBMS_JOB
パッケージを参照して、定期的にアンロード手順を開始してください。
このシステム パッケージのほとんどは Java で実装されており、PL/SQL から呼び出し可能な独自の Java 拡張機能を作成できます。
PS UTL_DBWS
Oracle Database からの SOAP サービスへの呼び出しの実装専用のパッケージがありますが、解決するよりも多くの問題が発生するようで、11g のドキュメント (10g のみ) で参照を見つけることができません。
PPS いくつかの記述は少し不正確であるか誇張を含んでいる可能性がありますが、全体像を理解するにはそれで十分です。