Hypertext Transfer Protocol (HTTP)
ハイパーテキスト転送プロトコル ( HTTP ) は、統合環境内でウェブサーバーに または リクエストを送信するための webMethods IntegrationHTTP または HTTPS リクエストを統合環境内からウェブサーバーに送ることができます。
アクション
- httpRequest: 指定されたサーバーに HTTP または HTTPS リクエストを行う。
入力パラメーター
- Url - (String) URL アクセスしたいリソース。 例えば、
http://www.rubicon.com/orders/orders.htmlです。重要: 文字列はhttp://またはhttps://で始まる必要があります。 - method - (文字列) 使用したい HTTP メソッドを指定します。 有効な値は次のとおりです。
- 削除
- get
- ヘッド
- オプション
- パッチ
- 通知
- put
- loadAs - (文字列) httpRequest に応答を返させたい形式。 に設定する
bytes(デフォルト) で、レスポンスのボディをbyte[ ]で返します。streamレスポンスのボディを java.io.InputStream として返す。
- data - (Document) リクエストとともに httpRequest に送信してほしいデータ。 ここに挙げたキーを1つ以上使ってデータを指定する。重要: 複数のキーを使用する場合、argsが最初に追加され、stringが最後に追加される。
args - このサービスが url 内のリソースに送信する名前と値のペア。 POST、PUT、PATCH、GET、DELETE、またはHEADメソッドでデータを送信するためにargsを使用することができます。 引数でデータを指定するには、名前と値のペアごとに文字列要素を作成する。 名前はキーを表し、値はデータを表す。
argsを指定すると、 HTTP リクエストは自動的に URL -名前と値のペアをエンコードし、&で区切り、? GETまたはHEADリクエストの場合。 webMethods Integration のデフォルトは application/x-www-form-urlencoded ですが、文字列やbytes変数で別のcontent-typeを指定することができます。
- String - (文字列) httpRequest サービスが url 内のリソースに送信するテキスト。 文字列を使用して、POST、PUT、PATCH、GET、または HEAD メソッドでデータを送信できます。 データ送信に文字列を使用する場合は、 httpRequest で表示させたい文字列を正確に指定してください。 (GETまたはHEADメソッドを使用している場合は、 URL -文字列の内容をエンコードしていることを確認すること)。注意: 文字列を使用すると、 httpRequest サービスは自動的にクエリー文字列全体の先頭に? GETやHEADを使ってデータを文字列で送信する場合。 この文字を文字列に含める必要はない。
POST、PUTまたはPATCHリクエストの場合、その文字列は、指定された URL に送られるリクエストのボディに含まれる。
- bytes - (byte[ ]) このサービスがurl内のリソースに送信したいデータ。 バイトを使用して、DELETE、POST、PUT、またはPATCHメソッドを使用してデータを送信できます。注意: bytesと別の要素(argsまたはstring)を使ってデータを指定した場合、サービスはargsまたはstring要素のデータをurlに追加します。 このサービスは、まずurlに引数を追加し、次に文字列を追加する。 このサービスは、投稿本文のbytes要素からデータをエンコードする。 POST、PUT、PATCHでは、stream、bytes、 mimeStream のいずれかを指定します。 複数指定した場合、 httpRequest は例外で終了する。
- mimeStream - ( java.io.InputStream ) url のリソースに送信する MIME または SMIME メッセージ。 ヘッダーとコンテンツの両方が含まれている。 mimeStream、ヘッダーはhttpヘッダーに付加される。 mimeStream、POST、PUT、またはPATCHメソッドのみを使用してデータを送信できます。注: POST、PUT、PATCH では、stream、bytes、または mimeStream を指定できます。 複数指定した場合、 httpRequest は例外で終了する。
- stream - ( java.io.InputStream ) httpRequest サービスが url 内のリソースに送信したいデータ。 ストリームを使用してデータを送信するには、POST、PUT、またはPATCHメソッドを使用します。注意: streamと他の要素(args、string、bytes)を使ってデータを指定した場合、サービスはargsまたはstring要素のデータをurlに追加します。 このサービスは、最初にurl、最後に文字列を追加する。 このサービスは、ストリーム要素のデータを投稿本文にエンコードします。 POST、PUT、PATCHでは、stream、bytes、 mimeStream のいずれかを指定します。 複数指定した場合、 httpRequest は例外で終了する。
- エン コ ーデ ィ ン グ : (文字列) URL デー タ ・ パ ラ メ タ (args と 文字列) がエン コ ーデ ィ ン グ さ れる文字セ ッ ト。 エンコーディングは、POSTリクエスト用に文字列オブジェクトをバイトに変換するために必要です。 IANAに登録されている文字セット(例えば、
ISO-8859-1)を指定する。この変数がNULLの場合、デフォルトのJVMエンコーディングが使われる。 文字列は投稿本文で使用され、 URL の構築には使用されないため、データ・パラメータ文字列のエンコーディングを指定する必要はありません。 - Auth - (ドキュメント) urlで指定されたリソースが保護されているときに httpサービスが提出する認可情報。
- type - (文字列) このサービスがこのリクエストを送信するときに使用する認証スキームのタイプ。 認証なし(デフォルト)の場合は None、ユーザー名とパスワードの場合は Basic、OAuth認証の場合は Bearer、パスワードダイジェスト認証の場合は Digestに設定します。
- user - (String) 保護されたリソースを要求するために提供されるユーザー名。 タイプが
BasicまたはDigestに設定されている場合は必須。 - pass - (文字列) ユーザーに関連付けられているパスワード。 タイプが
BasicまたはDigestに設定されている場合は必須。 - token - (String) OAuthリソースサーバーに送信するアクセストークン。 タイプが
Bearerに設定されている場合は必須。 - Headers - (Document) httpRequest サービスが発行する HTTP リクエストヘッダーに明示的にオーバーライドしたいフィールド。 設定したい各フィールドのヘッダーにキーを指定する。キー名はヘッダーフィールドを表し、キー値はその値を表す。
- timeout - (文字列) リモート・サーバーからの応答を待つ時間。 webMethods Integration リモート・サーバからの応答を待つ時間。 デフォルトは30,000ミリ秒。
- connectTimeout - (文字列) リクエストが停止する前にリモートサーバーへの接続を待つ時間。 webMethods Integration がリモートサーバへの接続を待つ時間。 デフォルトは30000ミリ秒。
- newSession - (文字列) この HTTP リクエストに対して新しいセッションが作成されるかどうかを示すフラグ。 現在のセッションを使うか、(httpclient)という名前のセッションが存在しない場合に作成するには noを、 HTTP リクエスト用に新しいセッションを作成するには yesを設定する。
- followRedirect - (文字列) 応答コードが300から400の場合に、アウトバウンドリクエストがリダイレクトに従うかどうかを示す。 リダイレクトを自動的に処理する場合は yes (デフォルト)、処理せずにレスポンスコードとヘッダを返す場合は no を設定する。
出力パラメーター
- encodedURL - httpRequest から提出された URL。 argsや文字列に設定された引数も含まれる。 リモートサーバーが httpRequest, をリダイレクトした場合、 encodedURL はリクエストがリダイレクトされた URL を含む。
- header - (document, conditional) HTTP レスポンスヘッダー。
lines - (ドキュメント)レスポンスヘッダー内のフィールド。キー名は フィールド名、値はフィールド値を表す。
- status - (String) HTTP レスポンスのステータスコード。
- statusMessage - (String) HTTP レスポンスのステータスメッセージ。
- body - (Document) HTTP レスポンスの本文。
- bytes - (byte[ ], 条件付き) byte[ ]で表される HTTP レスポンスのボディ。bytes は、 loadAs 入力パラメータが
bytesに設定されている場合に返される。 - stream - ( java.io.InputStream, 条件付き) HTTP レスポンスのボディは InputStream として表現される。 入力パラメータ loadAs が
streamに設定されている場合、ストリームが返される。
- bytes - (byte[ ], 条件付き) byte[ ]で表される HTTP レスポンスのボディ。bytes は、 loadAs 入力パラメータが
使用上の注意
GET、HEAD、OPTIONSメソッドの場合、 httpRequest は URL を送る。 サービスはボディを送信しない。
httpRequest、GETまたはHEADメソッドでは URL クエリにデータや文字列入力を送るが、POST、PUT、PATCHメソッドではリクエストボディに含める。
HTTP、レスポンスに302リダイレクトステータスコードが含まれ、 httpRequest、リダイレクトするように設定されている場合、サービスはリモートサーバーが提供する URL。 リモートサーバーが httpRequest を別の場所にリダイレクトした場合、 encodedURL 出力パラメータには、サービスがリダイレクトされた URL が含まれる。
メソッド入力変数がDELETEの場合、data/bytes入力変数に値を与えることができる。 httpサービスは、リクエスト本文の値をリモートサーバーに送信する
もしデータが HTTP メソッドに対してサポートされていないフォーマットで提供された場合、 httpRequest はそれを無視する。 例えば、dataまたはstreamとdataまたは mimeStream フィールドは、DELETEではサポートされていない。 これらのフィールドに指定された値は、メソッドがDELETEに設定されると無視される。
POST、PUT、PATCHでは、dataまたはargsに値が与えられた場合、 httpRequest はリクエストのcontent-typeヘッダーを
application/x-www-form-urlencodedに設定する。 このサービスは、ヘッダーに名前と値のペアで指定されたcontent-type値を無視する。URL、クエリーパラメーターを直接入力することができます。 dataやargsに指定された値も追加される。 GETメソッドの場合、データまたは文字列値も含まれる。 例えば、こんな入力だ:
- url =
http://example-host:8080/getOrders?cust=116 - データ/引数=
{{“since”, “20180201”}, {“greaterThan”, “250.00”}}
httpRequest がこの URL -
http://example-host:8080/getOrders?cust=116&somce=20180201&greaterThan=250.00を送信した結果。httpRequest サービスが認証のためにパスワードダイジェストを提出し(つまり、 authまたはtypeフィールドがDigestに設定されている)、 HTTP Server 応答がヘッダーフィールドcontent-typeを含むとき。 応答にcharsetパラメータが含まれていない場合、、 webMethods Integration はデフォルトの文字セットとして netEncoding サーバ設定パラメータの値を使用します。
大きなデータセットの場合は、 httpRequest で送信する前に、 compressData サービスを使って圧縮してください。 詳しくは compressData.
- Url - (String) URL アクセスしたいリソース。 例えば、