HTTP出力

4 分読む 最終更新日 2023年12月04日

HTTP出力ノード

HTTP出力ノード は、URL経由で出力ファイルをサーバーに配信するために使用されます。HTTP出力ノード設定画面を使用して、そのURLを指定し、テストを行います。

注意:

  • HTTP出力ノードでは、サーバーへのファイルのアップロードに、HTTP POSTリクエストメソッドのみをサポートしています。

  • HTTP出力ノードでは、URLのメタデータをサポートしています。

HTTP出力ノードを使用する

HTTP出力 ノードアイコンをワークフロービルダーキャンバスにドラッグすることで、HTTP出力ノードをワークフローに追加できます。アイコンをダブルクリックすると、HTTP出力ノードウィンドウが開きます。

HTTP出力ノード

  • [有効] チェックボックスをオンにして処理が実行されるようにします。オフにすると、この処理は無視されます。ドキュメントは、ノードが存在していないかのように通過します(つまり、既定のパスまたは「Y(はい)方向の」パスを進み続けます)。無効になっているノードでは、論理条件やエラー条件がチェックされません。

  • [ノード名] フィールドに、HTTP出力ノードに付ける、わかりやすい名前を入力します。

  • [説明] フィールドに、HTTP出力ノードの説明を入力します。これは必須ではありませんが、複数の出力先を相互に区別するのに役立ちます。説明が長い場合、このフィールドにマウスを合わせるとその内容全体を読むことができます。

  • [ファイルの送信先URL] フィールドに、ファイルを送信するためのHTTPパスを指定します。不正な値が入力された場合、エラーメッセージが表示されます。

  • [テスト接続] ボタンをクリックして、送信先URLに正しく接続していることを確認します。

  • 変更を保存するには、 [保存] ボタンを選択します。 [キャンセル] を選択してウィンドウを閉じると、変更は保存されません。

  • オンラインヘルプにアクセスするには、 [ヘルプ] ボタンを選択します。

HTTP出力ノードの送信先の設定のテスト

HTTP出力ノードにジョブが到達すると、それらのジョブは [送信先の設定] パネルで入力したURLに送信されます。 [テスト接続] ボタンを使用して、URLに正しく接続することを確認します。

  1. HTTP出力ノード設定画面を起動します。

  2. 送信先サーバーのURLを [ファイルの送信先URL] フィールドに入力します。

  3. [テスト接続] ボタンをクリックします。

    HTTP出力ノード

  4. フィールドに入力されたURLが有効かどうかのテストが実行されます。有効であれば、URLが有効であることを知らせるメッセージが表示されます。

  5. 認証資格情報を必要とするようにサーバーが構成されていると、接続は失敗します。その場合はエラーメッセージが表示されます。接続するにはサーバー側の認証を削除する必要があります。

  6. ファイルを送信できないように構成されているサーバーでも、URLが有効であるというメッセージが表示されます。ただし、このようなサーバー構成では、そのURLに対してファイルを送信することはできません。これを解決するには、サーバー側の設定を変更し、ファイルが受け付けられるようにします。

HTTP出力ワークフローのサンプル

このワークフローの目的は、URLを経由してサーバーに出力ファイルを配信することです。

下記のサンプルワークフローでは、ジョブが入力フォルダーに送信され、そこから指定されたURLを経由してHTTP出力サーバーに送られます。

HTTP出力ノード

入力フォルダーノード: 入力フォルダーでソースファイルパスを構成しておく必要があります。

HTTP出力ノード: HTTP出力ノードは、送信先URLにファイルを送信できるように構成しておく必要があります(このトピックの前の方にある「HTTP出力ノードを使う」セクションの手順を参照してください。)。

HTTP出力ノードの構成が完了し、接続テストが成功すると、ノードをワークフローで使用できるようになります。

注意: 「HTTP出力ノードの送信先の設定のテスト」の手順6で説明した状況のように正しく対処しないと、HTTP送信ノードは正常に機能しません。

HTTP出力用のサーバー設定のサンプルコード

PHPサーバーコードのサンプル

PHPサーバーコードを使用して、HTTP出力ノードからジョブを受信するようにサーバーを設定できます。以下のブロックは、PHPを使用した、送信先サーバーを作成するコードの例です。

<?php
if(empty($_GET) || $_GET['file'] == '') {
	echo "<p>'file' argument is missing in the request.</p>";
	return;
}

$uploaddir = 'C:/Users/test.user/Desktop/Test/output/'; //update the location of your file here.
$uploadfile = $uploaddir . $_GET['file'];

$data = file_get_contents('php://input');

echo "<pre>";
if(file_put_contents($uploadfile,$data)) {
        echo "<p>File uploaded successfully: " . $uploadfile . "</p>";
} else {
        echo "Failed to upload " . $uploadfile;
}
echo "</pre>";
?>