Question
FTP経由でファイルをダウンロードするため『ファイルをダウンロード』アクティビティを実行したところ以下のエラーが発生しました。
エラーメッセージ:
例外の型: System.AggregateException
RemoteException wrapping System.AggregateException: 1 つ以上のエラーが発生しました。—> RemoteException wrapping
System.Net.Sockets.SocketException: 接続済みの呼び出し先が一定の時間を過ぎても正しく応答しなかったため、接続できませんで
した。または接続済みのホストが応答しなかったため、確立された接続は失敗しました。
Answer
■原因
様々な原因が考えられますが、FTPの通信の種類が関係している可能性があります。
UiPathのFTP関連アクティビティはFTPのパッシブモードを使用しています。FTPパッシブモードでは通信のコントロールコのためにポート番号21を使用しますが、データ転送にはウェルノウンポート番号以外の番号(ランダムなポート)を使用します。このランダムポートへの接続がご利用の環境でファイアウォール等の設定によりブロックされている可能性があります。
※FTPアクティブモードでは、パッシブモードと同様に通信のコントロールのために番号 21 を使用しますが、データの転送にはポート番号 20 を使用します。
・解決策1
FTPデータ転送用のポート番号の範囲をFTPサーバーの設定で指定し、ファイアウォールで指定したポート範囲の制限を解除します。
・解決策2
FTPでファイル転送を行うツールやアプリケーションの画面を操作する自動化を実装します。