4.2.19 Webクライアント部品
機能
部品の入力プロパティからHTTPリクエストメッセージを生成し,送信します。また,受信したHTTPレスポンスメッセージを出力プロパティとして出力します。
定義済みのWebサービス接続先の設定項目を入力値として参照することもできます。
プロトコルバージョンはHTTP/1.1またはHTTPS/1.1です。
また,HTTPSでサポートしているTLSバージョンはTLSv1.2です。
HTTPメッセージの要素と部品プロパティの対応を次に示します。
メッセージの要素 |
入力プロパティ |
|
---|---|---|
リクエスト行 |
メソッド |
requestMethod |
URI |
requestUrl |
|
HTTP/バージョン |
− |
|
ヘッダー |
requestHeaders |
|
ボディー |
requestBody |
- (凡例)
-
−:HTTP/1.1またはHTTPS/1.1で固定のため,対応するプロパティはありません。
なお,Webクライアント部品は,入力プロパティに指定された値を変換しません。そのため,入力プロパティには,変換が不要な形式で値を指定してください。
メッセージの要素 |
出力プロパティ |
|
---|---|---|
ステータス行 |
HTTP/バージョン |
− |
ステータスコード |
responseStatusCode |
|
ステータスメッセージ |
responseStatusMessage |
|
ヘッダー |
responseHeaders |
|
ボディー |
responseBody※ |
- (凡例)
-
−:HTTP/1.1またはHTTPS/1.1で固定のため,対応するプロパティはありません。
- 注※
-
出力されるボディーのサイズは,30MB以下になるようにしてください。30MBを超える場合,超えた分の値が切り捨てられます。
注意事項
-
部品の実行中にタスクを実行停止した場合は,Webクライアント部品の処理が完了してからタスクの状態が「失敗」または「正常終了」になります。部品の実行が終了したときのステップおよびタスクの状態は,ステップの戻り値および後続ステップ実行条件によって決まります。後続ステップ実行条件は,[ステップ作成]ダイアログボックスまたは[ステップ編集]ダイアログボックスで設定できます。
-
部品の実行中にタスクを強制停止した場合は,実行中の処理が直ちに終了され,タスクの状態が「失敗」になります。なお,[タスク]画面の[フロー]エリアに表示されるステップの戻り値は,80になります。タスクログに出力される戻り値は,強制停止したタイミングによって異なります。
バージョン
01.01.00
タグ
HTTP
戻り値
戻り値 |
説明 |
---|---|
0 |
正常に終了した。 |
1 |
HTTPレスポンスメッセージのステータスコードとして,200番台(成功)以外が返却された。 |
70 |
Webサーバまたはプロキシサーバとの接続に失敗した。 |
77 |
Webサーバまたはプロキシサーバのホスト名解決に失敗した。 |
80 |
タスクの実行を停止した。 |
86 |
指定したプロパティ値に誤りがあるか,Webサービス接続先定義の設定値が見つからなかった。 |
90 |
接続後のデータ転送に失敗した。 |
91 |
HTTPレスポンスメッセージのボディーのサイズが30MBを超えている。 |
127 |
そのほかのエラーが発生した。 |
プロパティ一覧
プロパティを次の表に示します。
プロパティキー |
プロパティ名 |
説明 |
デフォルト値 |
入出力種別 |
必須区分 |
---|---|---|---|---|---|
webServiceConnectionCategory |
Webサービス接続カテゴリ |
Webサービス接続定義の設定項目を入力値として参照する場合に指定します。 Webサービス接続定義のカテゴリを指定します。 このプロパティを指定する場合は,プロパティ「webServiceConnectionName」も必ず指定してください。 |
− |
入力 |
△ |
webServiceConnectionName |
Webサービス接続名 |
Webサービス接続定義の設定項目を入力値として参照する場合に指定します。 Webサービス接続の接続先名を指定します。 このプロパティを指定する場合は,プロパティ「webServiceConnectionCategory」も必ず指定してください。 |
− |
入力 |
△ |
requestMethod |
メソッド |
HTTPメソッドとして,次のどれかを指定します。
|
GET |
入力 |
○ |
requestUrl |
リクエストURL |
HTTPリクエストを送信するリソースのURLと,クエリパラメータを指定します。URLエンコード済みの値を指定してください。 なお,300番台(リダイレクト)のステータスコードが返却される場合で,あらかじめリダイレクト先のURLが分かる場合は,リダイレクト先のURLを指定することをお勧めします。 プロパティ「webServiceConnectionCategory」およびプロパティ「webServiceConnectionName」に値を指定する場合は,URLのホスト名以降の"/"から先を指定してください。 |
− |
入力 |
○ |
requestHeaders |
リクエストヘッダ |
HTTPリクエストヘッダーを指定します。RFC 7230の規則に従って記述してください。 なお,Content-Typeヘッダーでリクエストボディーのフォーマットを指定し,Content-Typeヘッダーのcharsetパラメータで文字セットを指定することをお勧めします。 |
− |
入力 |
△ |
requestBody |
リクエストボディ |
HTTPリクエストボディーを指定します。Content-Typeヘッダーに指定したフォーマットで記述してください。 |
− |
入力 |
△ |
webAuth |
サーバ認証スキーム |
サーバ認証の種類として,次のどれかを指定します。
プロパティ「requestHeaders」に認証ヘッダーを指定する場合は,「none」を指定してください。プロパティ「requestHeaders」に認証ヘッダーが指定されていて,プロパティ「webAuth」に「none」以外が指定されている場合,通信エラーになることがあります。 |
none |
入力 |
○ |
webUsername |
サーバ認証ユーザー名 |
サーバ認証に使用するユーザー名を256文字以内で指定します。 次の場合は指定不要です。
|
− |
入力 |
△ |
webPassword |
サーバ認証パスワード |
サーバ認証に使用するパスワードを256文字以内で指定します。 次の場合は指定不要です。
|
− |
入力 |
△ |
useProxy |
プロキシの使用 |
リクエスト時,プロキシ接続をするかどうかについて次のどちらかを指定します。
プロパティ「webServiceConnectionCategory」およびプロパティ「webServiceConnectionName」に値を指定した場合は,指定不要です。 |
false |
入力 |
○ |
proxyHostname |
プロキシホスト名 |
プロキシのホスト名またはIPアドレスを256文字以内で指定します。 次の場合は指定不要です。
|
− |
入力 |
△ |
proxyPort |
プロキシポート番号 |
プロキシのポート番号を1〜65535で指定します。 次の場合は指定不要です。
|
8080 |
入力 |
△ |
proxyAuth |
プロキシサーバ認証スキーム |
プロキシ認証の種類を指定します。 次の場合は指定不要です。
次のどれかを指定します。
プロパティ「requestHeaders」に認証ヘッダーを指定する場合は,「none」を指定してください。プロパティ「requestHeaders」に認証ヘッダーが指定されていて,プロパティ「proxyAuth」に「none」以外が指定されている場合,通信エラーになることがあります。 |
none |
入力 |
○ |
proxyUsername |
プロキシユーザー名 |
プロキシ認証に使用するユーザー名を256文字以内で指定します。 次の場合は指定不要です。
|
− |
入力 |
△ |
proxyPassword |
プロキシパスワード |
プロキシ認証に使用するパスワードを256文字以内で指定します。 次の場合は指定不要です。
|
− |
入力 |
△ |
responseStatusCode |
ステータスコード |
HTTPレスポンスメッセージのステータスコードが出力されます。 なお,300番台(リダイレクト)のステータスコードが返却された場合は,自動でリダイレクトします。 |
− |
出力 |
− |
responseStatusMessage |
ステータスメッセージ |
HTTPレスポンスメッセージのステータスメッセージが出力されます。 |
− |
出力 |
− |
responseHeaders |
レスポンスヘッダ |
HTTPレスポンスメッセージのヘッダー情報が出力されます。 |
− |
出力 |
− |
responseBody |
レスポンスボディ |
HTTPレスポンスメッセージのボディー情報が出力されます。 |
− |
出力 |
− |
ヘッダーの送受信について
次のヘッダーについては,リクエスト時に値を指定しない場合,デフォルト値が設定されます。
ヘッダー |
デフォルト値 |
---|---|
Accept |
application/json |
Accept-language |
en |
Content-Type※ |
application/json |
Cache-Control |
no-cache |
Pragma |
no-cache |
User-Agent |
クライアントソフトウェアの名称およびバージョン |
Host |
リクエスト先のホスト名およびポート番号 |
Connection |
keep-alive |
- 注※
-
デフォルト値が設定されるのは,メソッドにPOSTまたはPUTを指定した場合です。
また,次のヘッダーは送受信の際に特殊な動作をします。
ヘッダー |
動作 |
---|---|
Content-Typeのcharsetパラメータ |
|
Content-Encoding |
gzip形式またはdeflate形式で返却された場合,ファイルを展開します。 |
接続タイムアウト値の設定について
Webサーバまたはプロキシサーバとの接続でトラブルが発生して,HTTP/HTTPS通信が終了しない場合に,異常を検知するための接続タイムアウト値を設定できます。接続タイムアウト値は,ユーザー設定プロパティファイル(config_user.properties)のプロパティ「plugin.http.connect.timeout」および「plugin.http.read.timeout」で設定します。
WebサーバとのNegotiate認証で使用するための準備
WebサーバとのNegotiate認証では,Kerberos v5認証を使用します。Kerberos v5認証を使用するためには,構成ファイルの編集および参照設定が必要です。
認証で使用する構成ファイルと,格納場所を次に示します。
-
Kerberos構成ファイル
JP1/AOのインストール先フォルダ¥conf¥plugin¥krb5.conf
-
Login構成ファイル
JP1/AOのインストール先フォルダ¥conf¥plugin¥login.conf
Kerberos v5認証を使用する手順を次に示します。
-
Kerberos構成ファイルを編集して保存します。
-
認証で構成ファイルを参照するため,「共通コンポーネントのインストール先フォルダ¥Base64¥uCPSB¥CC¥web¥containers¥AutomationWebService¥usrconf¥usrconf.cfg」に,次の記述を追加して保存します。
add.jvm.arg=-Djava.security.krb5.conf=JP1/AOのインストール先フォルダ/conf/plugin/krb5.conf add.jvm.arg=-Djava.security.auth.login.config=JP1/AOのインストール先フォルダ/conf/plugin/login.conf add.jvm.arg=-Djavax.security.auth.useSubjectCredsOnly=false
-
JP1/AOのサービスを停止します。
- 非クラスタシステムの場合
-
hcmds64srvコマンドにstopオプションを指定して実行します。
- クラスタシステムの場合
-
クラスタソフトを使用してサービスをオフラインにします。
-
JP1/AOのサービスを開始します。
- 非クラスタシステムの場合
-
hcmds64srvコマンドにstartオプションを指定して実行します。
- クラスタシステムの場合
-
クラスタソフトを使用してサービスをオンラインにします。
Webサービス接続先定義の参照について
プロパティ「webServiceConnectionCategory」およびプロパティ「webServiceConnectionName」にWebサービス接続先定義のカテゴリと接続先名を指定することで,Webサービス接続先定義の設定項目をWebクライアント部品の入力プロパティとして参照することができます。対応する入力プロパティに値が設定されているときは,Webサービス接続先定義の設定項目で上書きされます。
Webクライアント部品の入力プロパティとWebサービス接続先定義の設定項目の対応関係を次の表に示します。
Webクライアント部品の入力プロパティ |
Webサービス接続先定義の設定項目 |
---|---|
requestUrl※ |
IPアドレス/ホスト名 |
プロトコル |
|
ポート番号 |
|
webUsername |
ユーザーID |
webPassword |
パスワード |
useProxy |
プロキシ設定 |
proxyHostname |
プロキシサーバのIPアドレス/ホスト名 |
proxyPort |
プロキシサーバのポート番号 |
proxyAuth |
プロキシサーバの認証方式 |
proxyUsername |
プロキシサーバのユーザーID |
proxyPassword |
プロキシサーバのパスワード |
注※ Webサービス接続先定義の設定項目とプロパティ「requestUrl」に指定した値を組み合わせてリクエストURLを生成します。そのあと,生成したリクエストURLでプロパティ「requestUrl」を上書きします。
Webクライアント部品とJavaScript実行部品との連携例
Webクライアント部品は,実行時に,プロパティに指定された値を変換しないでそのまま使用します。そのため,プロパティの値を変換する必要があるときは,JavaScript実行部品と連携して使用することをお勧めします。URLエンコードおよびサーバのレスポンスからSSO時の認証トークンを抜き出す処理をする場合の,Webクライアント部品とJavaScript実行部品との連携例を次に示します。
|
関連トピック
-
マニュアル「JP1/AO 構築ガイド」−「ユーザー設定プロパティファイル(config_user.properties)」のトピック