Access Keys:
Skip to content (Access Key - 0)

背景

この例題は、ESB SFTPトランスポートを使って、SFTPサービスからファイル・メッセージを送受信します。コンソールから入力された文字列を受け取り、文字列をファイルとしてSFTPサービスに送信します。その後に、SFTPサービスから送り戻された同じ内容のファイルを受け取り、コンソールに出力します。

SFTPコネクタ例題の実行

進む前に、[SFTPトランスポートをインストール]してください。

バイナリからインストールされた場合は、この例題はSFTPトランスポートZipディレクトリ下の「examples」にあります。ソースコードからビルドした場合は、Subversionワークスペースを作成された下の「examples」ディレクトリにあります。
1.テキスト・エディタからファイルconf/mule-sftp-examples-config.xmlを開きます。sftpエンドポイントURIをSFTPサービスのURIに修正します(2箇所あります)。この例題では、受信(inbound)と送信(outbound)sftpエンドポイントを同じディレクトリに設定します。

<endpoint address="sftp://ユーザ:パスワード@ホスト/path/to/dir" connector="sftpConnector" />

Unix/Linux sftpサービスの場合は、/path/to/dirは絶対アドレスと認識されます。FreeSSHd on Windowsを使って全ユーザのベースアドレスを指定して、/path/to/dirを相対アドレスと認識させることができます。。 |

指定したユーザが、指定されたディレクトリの権限があるか確認してください。

3.ステップ1で修正した設定ファイルを使ってESB Mule 1.3.3を起動します

sftp.bat (Windows) 又は sftp.sh (Linux/Unix)

4. ESB Muleが立ち上がると、以下のようなメッセージが出力されます:



**********************************************************************
* Mule ESB and Integration Platform version Not Set                  *
* Not Set                                                            *
* For more information go to http://mule.mulesource.org              *
*                                                                    *
* Server started: Monday, March 19, 2007 1:17:21 AM PDT              *
* Server ID: SFTP_TEST                                               *
* JDK: 1.5.0_11 (mixed mode)                                         *
* OS: Windows XP - Service Pack 2 (5.1, x86)                         *
* Host: QMULE (192.168.1.101)                                        *
*                                                                    *
* Agents Running:                                                    *
*   Mule Admin: accepting connections on tcp://localhost:60504       *
**********************************************************************
INFO  2007-03-19 01:17:22,734 [WrapperSimpleAppMain] org.mule.MuleServer: Mule S
erver initialized.

=====SFTP Demo.  Enter file contents to be routed to SFTP service .=====


5.上のように表示されるコンソールで、テキストを入力すると、ESB Muleはテキストをファイル・メッセージとしてステップ1で指定したSFTPサービスに送ります。ESB Muleは次のようなメッセージを表示します(読みやすくするために改行を挿入):



=====SFTP Demo.  Enter file contents to be routed to SFTP service .=====
This is a mule message

INFO  2007-03-19 01:52:18,078 [SystemStreamConnector.endpoint.stream.System.in.r
eceiver.1] org.mule.providers.sftp.SftpMessageDispatcher: Successfully connected t
o: sftp://mule:test123@localhost/files/sftp-target
INFO  2007-03-19 01:52:18,078 [SystemStreamConnector.endpoint.stream.System.in.r
eceiver.1] org.mule.providers.sftp.SftpMessageDispatcher: Writing file to: sftp://
mule:test123@localhost/files/sftp-target/



上のINFOログは、ESB Muleが sftp://mule:test123@localhost/files/sftp-target に接続して、書き込んだことを通達します。

6.VFSコネクタはSFTPからファイルを取得するのに、PollingMessageReceiverを使います。この例では10秒毎にポールするように設定したために、10秒以内に以下のようなメッセージが表示するはずです(読みやすくするために改行を挿入しました):



INFO  2007-03-19 01:52:21,187 \[sftpConnector.endpoint.sftp.mule.test123.localhos
t.files.sftp.source.receiver.1\] org.mule.providers.stream.StreamMessageDispatche
r: Successfully connected to: stream://System.out

This is a mule message


ステップ5で入力したテキストが表示されるはずです。

この例題では「InputStreamToByteArray」トランスフォーマを使いました(mule-sftp-examples-config.xmlを参照)。もし大きなファイルを処理する場合は、このトランスフォーマを使わず、自分でストリームを処理するサービス・コンポーネントを作成するか、ストリーミング・メッセージ・ディスパッチャを作成します。詳細に付いては[SFTPユーザ・ガイド]を参照してください。

Adaptavist Theme Builder (3.3.2-conf2.10) Powered by Atlassian Confluence 2.10, the Enterprise Wiki.
Free theme builder license