HttpEnd - HTTPから実行するフローの終了

HTTPから実行するフロー用の終了コンポーネントです。

■ストリーム情報

入力フォーマットBinary,Text,HTML,CSV,FixedLength,XML,ParameterList,Record
接続数1
説明 MIME以外のストリームを入力できます。ストリームコンテナを受け入れることはできません。
出力フォーマットNONE
説明 入力ストリームをそのまま出力します。

■コンポーネントプロパティ

名前プロパティ型マッピング説明
トランザクションchoice- トランザクションが有効な場合にコミット、またはロールバックを実行するかどうかを指定します。 トランザクションが無効な場合は無視されます。
コミット [true] - コミットを実行します。
ロールバック [Rollback] - ロールバックを実行します
ステータスコードchoice入力&出力 HTTPレスポンスのステータスコードを指定します。
(HTMLを作成して返すフローの場合「200 OK」から変更する必要はありません)
ステータスコードが「30X」の場合、Location が表示されます。
Content-Typechoice入力&出力 HTTPレスポンスのContent-Typeを指定します。
自動判別にした場合、ストリーム型に応じたContent-Typeがつけられます。
ストリーム型Content-Type
Binaryapplication/octet-stream
Texttext/plain
HTMLtext/html
CSVtext/plain
FixedLengthtext/plain
XMLtext/xml
ParameterListtext/xml
Recordtext/xml
自動判別でJSON変換した場合のContent-Typeは以下になります。
JSONPコールバックContent-Type
指定なしapplication/json
指定ありtext/javascript
Locationstring入力&出力ステータスコード で「30X」を指定した場合に表示されます。
リダイレクトするURL(HTTPレスポンスのLocationヘッダーの値)を指定します。
ダウンロード情報group- ExcelやPDFなどのファイルをダウンロードさせる場合などのダウンロード情報を指定します。
ファイル名string入力&出力 ダウンロードさせるファイルのファイル名を指定します。
JSON変換choice入力&出力 出力ストリームをJSON形式に変換するかどうかを指定します。
しない [none] - 入力ストリームをそのまま出力します。
する [noIndent] - 入力ストリームをJSON文字列に変換して出力します。
する(インデント) [indent] - 入力ストリームをインデントしたJSON文字列に変換して出力します。
JSONPコールバックstring入力&出力 JSON変換した結果をJSONPとする場合のコールバック関数名を指定します。
JSONトップレベル名choice入力&出力 入力ストリームがCSV、Record、FixedLengthの時に、JSON形式をObjectまたはArrayにするかどうかを指定します。
直接入力した場合はその名前のObjectで出力します。詳細については下記トピック「JSON変換について」を参照してください。
record [SystemDefault] - {"record":[ ... ]} の形式で出力します。
(なし) [ONLY_JSONArray] - [ ... ] の形式で出力します。
Cookiecategory入力&出力 Cookieとして利用したい名前と値を指定します。

指定した値はHTTPレスポンスのSet-Cookieの名前、値として利用されます。
ここでCookieに設定した値はHttpStartコンポーネントで同じ名前を指定することで取得することができます。 名前はSet-Cookieヘッダーにそのまま使用されるので英字の名前を使用してください。値はURLエンコードされるので日本語を使用することができます。

オプションとしてCookie属性の「domain」「expires」「path」を指定することもできます。
これらを指定するには、名前に「domain」「expires」「path」のいずれかを指定して、これらの値を設定します。
  • domain - Cookieを送り返すサーバーのドメイン名を指定します。
  • expires - Cookieの有効期限をDateTime型で設定します。
  • path - Cookieを送り返すURLのサブセットを指定します。
追加するヘッダーcategory入力&出力 HTTPレスポンスに追加で設定するHTTPヘッダーのヘッダー名、データ型、値を指定します。

■ループ処理

ループの終点となります。ループしている場合、このコンポーネントを実行した後、最後にループの起点となったコンポーネントに戻って処理を継続します。

■トランザクション処理

コミット何もしません。
ロールバック何もしません。

■エラー処理

タイプパラメーターエラー処理フロー
へのストリーム
エラー
コード
説明
汎用 なし コンポーネントの入力ストリーム11入力ストリームの型がCSV, FixedLength, XML, ParameterList, Recordでなかった場合
12JSON変換に失敗した場合

■フロー終了後のエラー

以下の場合、フローは正常終了しますがフロー終了後にエラーを発生します。

■エラー処理フローでの終了コンポーネント

エラー処理フローがこのコンポーネントで終わった場合、フローの実行はこのコンポーネントで終了し、リクエストも終了します。エラー処理フローでエラー処理を行った後に呼出し元フローに復帰して処理を継続したい場合は、ExceptionReturnコンポーネントを使用します。

■JSON変換について

JSONはブラウザのJavaScriptから直接利用可能なテキストベースのデータフォーマットです。

JSON変換プロパティでJSON変換を行った場合、入力ストリームはそれぞれのフォーマット毎に以下のように変換されます。

Record, CSV, FixedLength

JSONトップレベル名 プロパティに「record」を指定した場合、トップレベルに「record」というキーで配列が作成されます。配列要素は各レコードのフィールド名をキーとするオブジェクトです。「record」以外の値を入力した場合は、入力した値をトップレベルのキーとします。

{ "record":[
    { "field1": "aaa", "field2": 1, "field3": true},
    { "field1": "bbb", "field2": 2, "field3": false},
    { "field1": "ccc", "field2": 3, "field3": true}]
}

JSONトップレベル名 プロパティに「(なし)」を指定した場合、トップレベルにキーのない配列が作成されます。配列要素は各レコードのフィールド名をキーとするオブジェクトです。

[
    { "field1": "aaa", "field2": 1, "field3": true},
    { "field1": "bbb", "field2": 2, "field3": false},
    { "field1": "ccc", "field2": 3, "field3": true}
]

ParameterList

トップレベルにフィールド名をキーとして各フィールドの値が出力されます。

{ 
  "field1": "aaa",
  "field2": ["aaa", "bbb", "ccc"],
  "field3": 10
}

XML

トップレベルに文書要素の要素名をキーとして、XML構造に従って以下のルールでオブジェクト化されます。

{ "root": {
    "record": [
      {
        "attr1": 1,
        "element1": "aaa"
      },
      {
        "attr1": 2,
        "element1": "bbb"
      }
    ]}
}

Binary, Text, HTML, MIME

これらのストリームはJSON変換できません。これらの入力ストリームに対してJSON変換が指定された場合は実行時エラーになります。

データ型について

XMLストリームからの変換では出力のデータ型はすべて文字列になります。 それ以外のストリームからの変換ではフィールド定義のデータ型に従いますが、DateTime型は「2010-08-25T00:00:00.000 JST」のような形式の文字列になります。 データ型がBinary型の場合は、Base64形式でエンコードした文字列になります。