Skip to main content

HTTP 送信アダプタの設定

HTTP 送信アダプタ EnsLib.HTTP.OutboundAdapterOpens in a new tab の設定に関する参照情報を提供します。

概要

送信 HTTP アダプタには以下の設定があります。

グループ 設定
基本設定 [HTTPサーバ][HTTPポート][URL][認証情報]
接続設定 [SSL構成][SSL チェック・サーバ ID][プロキシ・サーバ][プロキシ・ポート][HTTPSプロキシ][HTTP プロキシ・トンネル][応答タイムアウト][ConnectTimeout][WriteTimeout][LocalInterface]
OAuth2 [OAuth2 Access Token Placement][OAuth2 クライアントアプリケーション名][OAuth2 グラントタイプ][OAuth2 コールバックハンドラ][OAuth2 スコープ][OAuth2 認可プロパティ][OAuth2 認可ワークフローロール]
OAuth2 グラント固有 OAuth2 JWT Subject
追加設定 [Cookie使用][Extra HTTP Headers][Chunked][Chunk Size][スーパーセッションを送信]

残りの設定はすべてのビジネス・オペレーションに共通のものです。詳細は、"すべてのビジネス・オペレーションに含まれる設定" を参照してください。

Chunked

各送信メッセージに Chunked Transfer-Encoding (RFC9112Opens in a new tab) を適用するかどうかを指定します。既定は false です (送信メッセージに Chunked Transfer-Encoding はありません)。

Chunk Size

Chunked Transfer-Encoding を使用した場合の各チャンクのサイズを指定します。この設定は、[Chunked] が true に設定されている場合のみ使用されます。値は 1 以上である必要があります。

接続タイムアウト

サーバへの接続が開かれるまで待つ秒数を指定します。デフォルト値は 5 です。

この時間内に接続が開かれない場合、アダプタは、Failure TimeoutRetry Interval で割って得られる回数を上限として再試行を繰り返します。

認証情報

指定された宛先 URL への接続を承認できるプロダクション認証情報の ID を識別します。"認証情報の定義" を参照してください。

Extra HTTP Headers

追加する HTTP ヘッダのカンマ区切りリスト。各ヘッダをコロンで区切られたキーと値のペアで指定します (Content-Type:text/plain など)。

HTTPポート

HTTP 要求の送信先となるサーバの TCP ポート (デフォルトでは 80、SSLConfig が指定されている場合は 443 を使用)。80 以外の値は、送信する HTTP 要求の Host: ヘッダに含められます。詳細は、"宛先サーバと URL パスの指定" を参照してください。

HTTPサーバ

HTTP 要求の送信先となるサーバの IP アドレス。これは、送信する HTTP 要求の Host: ヘッダで使用されます。"宛先サーバと URL パスの指定" も参照してください。

ローカル・インタフェース

HTTP 接続に必要なネットワーク・インタフェースを指定します。リストから値を選択するか、値を入力してください。空の値は、任意のインタフェースが使用できることを意味します。

OAuth2 Access Token Placement

アクセス・トークンをリソース・サーバに送信する方法を指定します。以下のいずれかのオプションを使用します。

  • [ヘッダ] ベアラー・トークン HTTP ヘッダを使用します。

  • [ボディ] フォームエンコードされた本文を使用します。この場合の要求は、本文がフォームエンコードされた POST でなければなりません。

  • [クエリ] URL クエリ・パラメータを使用します。

"RFC 6750Opens in a new tab" を参照してください。

OAuth2 クライアントアプリケーション名

オプションで、使用する OAuth2 クライアント構成アプリケーション名を指定します。この設定を指定する場合、アダプタは認証に OAuth2.0 を使用し、承認およびアクセス・トークンの取得プロセスで、指定したクライアント名を使用します。

OAuth2 グラントタイプ

使用する OAuth2.0 グラント・タイプを指定します。以下のオプションのいずれかを使用します。

  • [パスワード] : この場合、ユーザ名とパスワードを含む認証情報オブジェクトが必要です。

  • [JWT 承認] : この場合、OAuth2 JWT Subject が必要です。

  • [クライアントの認証情報] : この場合、認証情報オブジェクトは必要ありません。代わりに、アダプタは OAuth 2.0 クライアントのクライアント ID とクライアント秘密鍵を使用します。

OAuth2 コールバックハンドラ

アクセス・トークンの取得を処理するクラスを指定します。既定値は Ens.Util.OAuth2.HandlerOpens in a new tab で、アクセス・トークンの取得をカスタマイズするため、サブクラス化することもできます。

OAuth2 スコープ

オプションで、承認要求に含まれる範囲を指定します。この設定が指定されない場合は、OAuth2 クライアント構成アプリケーション名で指定される既定の範囲が使用されます。

OAuth2 認可プロパティ

オプションで、付与フローの承認プロセスに含まれる追加プロパティを指定します。この設定は、access_type=offline,prompt=consent のように、キーと値のペアのカンマ区切りリストで指定します。

OAuth2 認可ワークフローロール

オプションで、付与タイプ・フローに応じて、承認要求の送信先となるワークフロー・ロールを指定します。

OAuth2 JWT Subject

JWT 承認の付与タイプ・フローを使用する場合に使用する OAuth2 JWT Subject を指定します。

Proxy Authorization

プロキシ・サーバを使用する場合、指定されたプロキシ・サーバへの接続を承認できるプロダクション認証情報を指定します。"認証情報の定義" を参照してください。

HTTPSプロキシ

プロキシ・サーバを使用する場合は、そのプロキシ・サーバがターゲット・システムとの通信に HTTPS を使用するかどうかを指定します。このオプションを有効にして [プロキシ・サーバ] プロパティに値を指定すると、プロキシ・サーバは HTTP ページではなく HTTPS ページの要求を発行します。また、このオプションを有効にすると、デフォルトの HTTP ポートが、HTTPS ポートである 443 に変更されます。

プロキシ・ポート

プロキシ・サーバを使用する場合、接続先とするそのプロキシ・サーバ上のポートを指定します。デフォルト値は 8080 です。

プロキシ・サーバ

プロキシ・サーバを使用する場合、プロキシ・サーバのホスト名を指定します。指定したプロキシ・サーバの、指定したプロキシ・ポートに対して、要求が発行されます。値を指定しない場合、プロキシ・サーバは使用されません。

HTTP プロキシ・トンネル

アダプタが HTTP CONNECT コマンドを使用して、プロキシ経由でターゲットの HTTP サーバへのトンネルを確立するかどうかを指定します。真の場合、要求は HTTP CONNECT コマンドを使用してトンネルを確立します。プロキシ・サーバのアドレスは、[プロキシ・サーバ] および [プロキシ・ポート] の各プロパティから取得されます。HTTPS プロキシが真の場合、トンネルが確立されると、InterSystems IRIS® は TLS 接続をネゴシエートします。デフォルト値は偽です。

応答タイムアウト

サーバからの応答取得に対するタイムアウトを指定します (サーバへの接続を開く場合のタイムアウトは ConnectTimeout で設定します)。デフォルト値は 30 です。

応答が受信されない場合、アダプタは、Failure TimeoutRetry Interval で割った回数だけ繰り返し再試行します。

SSL チェック・サーバ ID

TLS 接続を行う際に、証明書内のサーバ ID が接続先システムの名前と一致することがアダプタによってチェックされることを指定します。デフォルトでは、このチェックが行われるように指定されます。TLS 証明書で指定された名前が DNS 名と一致しないテスト・システムと開発システムについては、この設定のチェックを外します。

SSL構成

この接続の認証に使用する既存の TLS 構成の名前。アダプタから通信が開始されるため、クライアント TLS 構成を選択します。

TLS 構成を作成して管理するには、管理ポータルを使用します。インターシステムズの "TLS ガイド" を参照してください。[SSL/TLS構成を編集] ページの最初のフィールドは [構成名] です。この文字列を [SSL構成] 設定の値として使用します。

SendSuperSession

SendSuperSession はブーリアン設定であり、送信アダプタが HTTP ヘッダ内に SuperSession ヘッダを作成するかどうか、および識別子をそのヘッダに割り当てるかどうかを制御します。メッセージを検索するときに、SuperSession 値を使用して、あるプロダクション内のメッセージを、別のプロダクション内の関連メッセージと突き合わせることができます。プロダクション内では、ビジネス・サービス、プロセス、およびオペレーションの間でメッセージは SessionId を用いて転送されるので、追跡は簡単です。しかし、メッセージが HTTP メッセージによってビジネス・オペレーションからいったん離れ、別のプロダクションに入ると、そのメッセージを受け取ったプロダクションは新しい SessionId を割り当てます。

SendSuperSession を選択すると、HTTP 送信アダプタは以下を実行します。

  1. メッセージの Ens.MessageHeaderBase.SuperSession プロパティに空の値があるかどうかを確認します。空の値が含まれている場合、アダプタが新しい値を生成して SuperSession プロパティにそれを格納します。

  2. SuperSession プロパティの値を、送信メッセージのプライベート InterSystems.Ensemble.SuperSession HTTP ヘッダに格納します。

HTTP 受信アダプタは、メッセージを受信すると、受信 HTTP メッセージ・ヘッダ内の SuperSession 値を確認します。値が存在する場合、Ens.MessageHeaderBase.SuperSession プロパティを設定します。このプロパティは、メッセージが別のプロダクション・コンポーネントに渡されるときも保持されます。

Note:

SuperSession を使用してプロダクション間でのメッセージの追跡を自動化するツールはありません。

URL

サーバから要求するための URL パス (http:// またはサーバ・アドレスを含みません)。

"宛先サーバと URL パスの指定" も参照してください。

Cookie の使用

このアダプタをインスタンス化するときに HTTP 応答で受信される Cookie を保存するどうか、また、その後の各 HTTP 要求に挿入するかどうかを指定します。

WriteTimeout

Web サーバへの書き込みのタイムアウト値を指定します。この設定が NULL の場合、タイムアウトはありません。

FeedbackOpens in a new tab