HTTP出力
HTTP出力ノード は、URL経由で出力ファイルをサーバーに配信するために使用されます。HTTP出力ノード設定画面を使用して、そのURLを指定し、テストを行います。
注意:
-
HTTP出力ノードでは、サーバーへのファイルのアップロードに、HTTP POSTリクエストメソッドのみをサポートしています。
-
HTTP出力ノードでは、URLのメタデータをサポートしています。
HTTP出力ノードを使用する
HTTP出力 ノードアイコンをワークフロービルダーキャンバスにドラッグすることで、HTTP出力ノードをワークフローに追加できます。アイコンをダブルクリックすると、HTTP出力ノードウィンドウが開きます。
-
[有効] チェックボックスをオンにして処理が実行されるようにします。オフにすると、この処理は無視されます。ドキュメントは、ノードが存在していないかのように通過します(つまり、既定のパスまたは「Y(はい)方向の」パスを進み続けます)。無効になっているノードでは、論理条件やエラー条件がチェックされません。
-
[ノード名] フィールドに、HTTP出力ノードに付ける、わかりやすい名前を入力します。
-
[説明] フィールドに、HTTP出力ノードの説明を入力します。これは必須ではありませんが、複数の出力先を相互に区別するのに役立ちます。説明が長い場合、このフィールドにマウスを合わせるとその内容全体を読むことができます。
-
[ファイルの送信先URL] フィールドに、ファイルを送信するためのHTTPパスを指定します。不正な値が入力された場合、エラーメッセージが表示されます。
-
[テスト接続] ボタンをクリックして、送信先URLに正しく接続していることを確認します。
-
変更を保存するには、 [保存] ボタンを選択します。 [キャンセル] を選択してウィンドウを閉じると、変更は保存されません。
-
オンラインヘルプにアクセスするには、 [ヘルプ] ボタンを選択します。
HTTP出力ノードの送信先の設定のテスト
HTTP出力ノードにジョブが到達すると、それらのジョブは [送信先の設定] パネルで入力したURLに送信されます。 [テスト接続] ボタンを使用して、URLに正しく接続することを確認します。
-
HTTP出力ノード設定画面を起動します。
-
送信先サーバーのURLを [ファイルの送信先URL] フィールドに入力します。
-
[テスト接続] ボタンをクリックします。
-
フィールドに入力されたURLが有効かどうかのテストが実行されます。有効であれば、URLが有効であることを知らせるメッセージが表示されます。
-
認証資格情報を必要とするようにサーバーが構成されていると、接続は失敗します。その場合はエラーメッセージが表示されます。接続するにはサーバー側の認証を削除する必要があります。
-
ファイルを送信できないように構成されているサーバーでも、URLが有効であるというメッセージが表示されます。ただし、このようなサーバー構成では、そのURLに対してファイルを送信することはできません。これを解決するには、サーバー側の設定を変更し、ファイルが受け付けられるようにします。
HTTP出力ワークフローのサンプル
このワークフローの目的は、URLを経由してサーバーに出力ファイルを配信することです。
下記のサンプルワークフローでは、ジョブが入力フォルダーに送信され、そこから指定されたURLを経由して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>";
?>