使用する
次のABAPプログラムは、HTTPリクエストを実行します。テストの目的では、コールの宛先は送信システム自体であるため、アプリケーションサーバABAPはクライアントロールとサーバロールの両方で使用されます。
次のパラメータを入力する必要があります。
ステップ1
これで、タイプCL_HTTP_CLIENTのオブジェクトが作成されました。これを行うには、2つの可能な手順があります。
-
あるケースでは、作成メソッドが呼び出されます。ここでは、必要なホストとポートを入力する必要があります。また、プロキシ設定を入力することもできます。これは、トランザクションSICFで行われたすべての構成をオーバーライドします(プロキシの構成も参照)。
-
その他の場合、トランザクションSM59で維持された宛先が使用されます(方法create_by_destination)。ここで指定する必要があるのは、宛先とクライアントの名前だけです。どちらの場合も、例外(ここには表示されていません)を定義し、最後のエラーコードを照会する必要があります。
オブジェクトクライアントすべてのデータ(要求、応答、ヘッダーフィールドなど)にアクセスするために使用できます。
このスキームは、HTTPとHTTPSのどちらを使用するかを決定します。
次に、リクエストのヘッダーフィールドが設定されます。HTTPリクエストメソッドのGETへの設定はオプションです。
パス全体が宛先(SM59)を使用してパスプレフィックスとして指定されていない限り、リクエストURIを設定する必要があります。ここではメソッドを使用しますset_request_uriクラスのcl_http_utility。
ステップ2
次に、制御ブロック内の任意の数のフィールドに入力できます。
追加オプション
-
属性を無効にすることができますPROPERTYTYPE_LOGON_POPUP、PROPERTYTYPE_REDIRECTとPROPERTYTYPE_ACCEPT_COMPRESSデフォルト値はCO_ENABLED(CO_DISABLEDに設定)です。
-
設定できますPROPERTYTYPE_ACCEPT_COOKIE異なる値に。デフォルト値はCO_DISABLEDですが、値CO_ENABLED(常にCookieを受け入れる)、CO_PROMPT(Cookieを受信したときにダイアログボックスを送信してCookieを受け入れるかどうかを尋ねる)およびCO_EVENT(インターフェイスIF_HTTP_CLIENTのイベントEVENTKIND_HANDLE_COOKIEを使用したCookie処理)も使用できます。
-
PROPERTYTYPE_ACCEPT_COMPRESSを値CO_DISABLEDに設定して、パートナーがデータを非圧縮形式で送信できるようにすることができます。
-
リクエストを送信する前に、インターフェースIF_HTTP_CLIENTのAUTHENTICATE()メソッドを使用して必要なログオンデータを入力することもできます。
ステップ3
これでリクエストが送信されます。
ここで、最後のエラーは、を使用して再度クエリする必要がありますclient-> get_last_error。
ステップ4
これで応答が受信され、クライアントオブジェクトに応答データが入力されます。
例外とエラークエリもここに挿入する必要があります。
接続が使用されなくなった場合は、次のようにクライアントオブジェクトと接続を閉じる必要があります。
成功したテストを文書化するために、この時点で出力ルーチンが呼び出されます。