手順
REST HTTPクライアントを構築するには、タイプCL_HTTP_CLIENTのICF HTTPクライアントオブジェクトが必要です。これは、RESTクライアントがHTTP要求を送受信するために使用します。
HTTPクライアントインスタンスは、次の2つのバリエーションで作成できます。
-
宛先構成の使用このバリアントでは、トランザクションSM59でHTTP宛先を構成する必要があります。HTTP宛先には、ターゲットホスト、URIパスプレフィックス、およびログオンデータが含まれます。実際のHTTPクライアントは、宛先名を入力パラメーターとして受け取るメソッドCL_HTTP_CLIENT=>CREATE_BY_DESTINATIONを使用して作成できます。このアプローチは、ターゲット構成部分をRESTクライアントアプリケーションから分離するのに役立ちます。ログオンデータなどは、トランザクションSM59によってすでに安全な方法で保存されており、RESTクライアントの実装はこれに依存できます。
-
ソースコードによって提供される構成を介してHTTPクライアントは、ソースコードによってのみ作成することもできます。これにより、RESTクライアントの実装に最大限の柔軟性がもたらされます。メソッドCL_HTTP_CLIENT=>CREATE_BY_URLを使用し、入力パラメーターを介して関連情報を提供します。必要に応じて、返されたオブジェクトに認証情報を設定できます(たとえば、AUTHENTICATEメソッドを使用)。
このようなHTTPオブジェクトを使用する方法も2つあります。
-
一連のRESTクライアント要求(ステートレス通信のRESTプリンシパルに完全に適合する)でREST要求ごとに新しいHTTPオブジェクトを作成するか、または
-
後続のRESTクライアント呼び出しでステートレスHTTPオブジェクトを再利用します(これはRESTプリンシパルにも適合します)。
最初のオプションを使用している場合(つまり、HTTP宛先を使用している場合)、SM59の独自の宛先を異なるリソースごとに使用できます(つまり、リソースのURLはリソースごとに異なるため)が、これは非常に面倒です。 。既存のRESTクライアントインスタンスを再利用して、同じサーバーを指す異なるURLでRESTリクエストを実行することができます。
RESTクライアントのURLは、リクエストヘッダー〜request_uriを新しいURIに設定することで変更できます。
メソッドIF_REST_CLIENT〜SET_REQUEST_HEADERを使用して、このヘッダーを使用するURIに設定します。ヘッダー名として定数IF_HTTP_HEADER_FIELDS_SAP=>REQUEST_URIを使用することをお奨めします。2番目のオプション(つまり、URLによる)を使用している場合は、この手順を使用して、必要なリソースURIを(再)設定することもできます。