44.11 MAKE_REQUESTプロシージャ
このプロシージャを使用して、指定されたSOAPエンベロープとともにSOAP形式のWebサービスを起動し、結果をコレクションに格納します。
構文
APEX_WEB_SERVICE.MAKE_REQUEST (
    p_url               IN VARCHAR2,
    p_action            IN VARCHAR2 DEFAULT NULL,
    p_version           IN VARCHAR2 DEFAULT '1.1',
    p_collection_name   IN VARCHAR2 DEFAULT NULL,
    p_envelope          IN CLOB,
    p_username          IN VARCHAR2 DEFAULT NULL,
    p_password          IN VARCHAR2 DEFAULT NULL,
    p_scheme            IN VARCHAR2 DEFAULT 'Basic',
    p_proxy_override    IN VARCHAR2 DEFAULT NULL,
    p_transfer_timeout  IN NUMBER   DEFAULT 180,
    p_wallet_path       IN VARCHAR2 DEFAULT NULL,
    p_wallet_pwd        IN VARCHAR2 DEFAULT NULL,
    p_https_host        IN VARCHAR2 DEFAULT NULL );
パラメータ
表44-5では、MAKE_REQUESTプロシージャで使用可能なパラメータについて説明します。
                  
表44-5 MAKE_REQUESTプロシージャのパラメータ
| パラメータ | 説明 | 
|---|---|
| 
 | WebサービスのURLエンドポイント。 | 
| 
 | 起動する操作に対応するSOAPアクション。 | 
| 
 | SOAPのバージョン(1.1または1.2)。デフォルトは、1.1です。 | 
| 
 | レスポンスを格納するコレクションの名前。 | 
| 
 | サービスにポストするSOAPエンベロープ。 | 
| 
 | このサービスに基本認証が必要な場合はユーザー名。 | 
| 
 | このサービスに基本認証が必要な場合はパスワード。 | 
| 
 | ご使用のデータベース・リリースでサポートされている場合、認証スキームのBasic (デフォルト)、AWS、Digestのいずれか。 | 
| 
 | リクエストに使用するプロキシ。指定したプロキシは、アプリケーション属性で定義したプロキシより優先されます。 | 
| 
 | レスポンスを待機する時間(秒単位)。 | 
| 
 | URLエンドポイントがHTTPSの場合はウォレットへのファイル・システム・パス。file:/usr/home/oracle/WALLETSなど。指定されたウォレットのパスは、インスタンス設定で定義したウォレットより優先されます。 | 
| 
 | ウォレットにアクセスするためのパスワード。 | 
| 
 | HTTPS要求に対してリモート・サーバーの証明書の共通名(CN)と照合するホスト名。 | 
例
次の例では、make_requestプロシージャを使用して、SOAP形式のWebサービスからムービーのリストを取得します。レスポンスはApplication ExpressコレクションMOVIE_LISTINGSに格納されます。
                  
declare
 	l_envelope CLOB;
BEGIN
	l_envelope := '<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tns="http://www.ignyte.com/whatsshowing"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
   <soap:Body>
      <tns:GetTheatersAndMovies>
         <tns:zipCode>43221</tns:zipCode>
         <tns:radius>5</tns:radius>
      </tns:GetTheatersAndMovies>
   </soap:Body>
</soap:Envelope>';
 
apex_web_service.make_request(
   p_url               => ' http://www.ignyte.com/webservices/ignyte.whatsshowing.webservice/moviefunctions.asmx',
   p_action            => ' http://www.ignyte.com/whatsshowing/GetTheatersAndMovies',
   p_collection_name   => 'MOVIE_LISTINGS',
   p_envelope          => l_envelope
);
END;
親トピック: APEX_WEB_SERVICE