Hitachi

Cosminexus V11 BPM/ESB基盤 サービスプラットフォーム 開発ガイド 受付・アダプタ定義編


3.3.10 FTPアダプタを定義する

FTPアダプタの定義方法について説明します。

〈この項の構成〉

(1) 電文フォーマットの作成

FTPアダプタの電文フォーマットの定義ファイルはサービスプラットフォームが提供するスキーマを使用します。そのため,電文フォーマットの定義ファイルの作成は不要です。

FTPアダプタで使用する電文フォーマットの内容について説明します。

ファイルの格納場所は「<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\FTP\schema」です。

(a) FTPアダプタの要求電文フォーマット

FTPアダプタの要求電文フォーマットを,オペレーションごとに説明します。

●PUTオペレーション

ビジネスプロセスからFTPアダプタに渡すPUTオペレーションの要求電文フォーマットを次に示します。ファイル名は「ftpadp_put_request.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csaftp/put_request」です。

表3‒57 要求電文フォーマット(PUTオペレーション)

タグ名

出現回数※1

説明

<request>

1回

<host-ipaddr>

0または1回

接続するFTPサーバのIPアドレスまたはホスト名です。

  • タグがあって値がある場合

    指定の文字列でconnectが発行されます。

  • タグがあって値がない場合

    システム例外を返します。

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効になります。FTPアダプタ実行環境プロパティファイルに指定がない場合,システム例外を返します。

Windowsを使用する場合,ループバックIPアドレス(127.0.0.1またはlocalhost)を指定すると,FTP接続に失敗する場合があります。実IPアドレスまたはホスト名を指定してください。

<host-con-port>

0または1回

FTPサーバの制御コネクション用ポート番号です。

  • タグがあって値がある場合

    1から65535までのポート番号を指定します。これ以外の値を指定した場合,システム例外を返します。

  • タグがあって値がない場合

    デフォルトの21が指定されます。

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効になります。

<file-name-charset>

0または1回

FTPサーバとの制御コネクションで,情報(ファイル名など)を送受信するときに使用する文字セットの名称を示すタグです。指定値は次のどちらかです。

UTF-8:文字セットに「UTF-8」を使用します。

MS932:文字セットに「MS932」を使用します。

  • タグがあって値が使用できる文字セット名の場合

    情報(ファイル名など)を送受信するときの文字セットとして適用されます。

  • タグがあって値が使用できない文字セット名の場合

    システム例外を返します。

  • タグがあって値がない場合

    デフォルトの「UTF-8」が使用されます。

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効になります。

<ftps>

0または1回

FTPSに関する設定を示すタグです。タグがない場合,FTPSに関するすべての設定はFTPアダプタ実行環境プロパティファイルの値が有効となります。

<ftps-enable>

0または1回

FTPサーバとの接続にFTPSを使用するかどうかを指定するタグです。指定値は次のどちらかです。

true:FTPサーバとの接続にFTPSを使用します。

false:FTPサーバとの接続に通常のFTPを使用します。※2

FTPSを使用する場合,制御コネクションおよびデータコネクションの通信は暗号化されます。ただし,接続先のFTPサーバがFTPSによる接続をサポートしている必要があります。「true」を指定した場合でも,データコネクションの通信の暗号化が設定されていないときは,データコネクションの通信も暗号化されません。

  • タグがあって値が「true」または「false」の場合

    指定した値が適用されます。

  • タグがあって値が「true」または「false」のどちらでもない場合

    システム例外を返します。

  • タグがあって値がない場合

    デフォルトの「false」が使用されます。

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効になります。

<ftps-protocol-name>

0または1回

FTPサーバとの接続にFTPSを使用する場合に,使用するセキュリティ通信用のプロトコルを示すタグです。指定値は次のどちらかです。

TLS:セキュリティ通信用のプロトコルにTLSを使用します。

SSL:セキュリティ通信用のプロトコルにSSLを使用します。

  • タグがあって値が「TLS」または「SSL」の場合

    指定した値が適用されます。

  • タグがあって値が「TLS」または「SSL」のどちらでもない場合

    システム例外を返します。

  • タグがあって値がない場合

    デフォルトの「TLS」が使用されます。

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効になります。

この設定は,FTPサーバとの接続にFTPSを使用する場合だけ有効となります。

<ftps-implicit-mode>

0または1回

FTPサーバとの接続にFTPSを使用する場合に,FTPSのImplicitモードを使用するかどうかを指定するタグです。指定値は次のどちらかです。

true:Implicitモードを使用します。

false:Explicitモードを使用します。※2

  • タグがあって値が「true」または「false」の場合

    指定した値が適用されます。

  • タグがあって値が「true」または「false」のどちらでもない場合

    システム例外を返します。

  • タグがあって値がない場合

    デフォルトの「false」が使用されます。

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効になります。

この設定は,FTPサーバとの接続にFTPSを使用する場合だけ有効となります。

<ftps-data-con-secure>

0または1回

FTPサーバとの接続にFTPSを使用する場合に,データコネクションの通信を暗号化するかどうかを指定するタグです。指定値は次のどちらかです。

true:データコネクションの通信を暗号化します。

false:データコネクションの通信を暗号化しません。

  • タグがあって値が「true」または「false」の場合

    指定した値が適用されます。

  • タグがあって値が「true」または「false」のどちらでもない場合

    システム例外を返します。

  • タグがあって値がない場合

    デフォルトの「true」が使用されます。

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効になります。

この設定は,FTPサーバとの接続にFTPSを使用する場合だけ有効となります。

<ftps-server-authentication>

0または1回

FTPサーバとの接続にFTPSを使用する場合に,サーバ認証をするかどうかを指定するタグです。指定値は次のどちらかです。

true:サーバ認証をします。

false:サーバ認証をしません。

  • タグがあって値が「true」または「false」の場合

    指定した値が適用されます。

  • タグがあって値が「true」または「false」のどちらでもない場合

    システム例外を返します。

  • タグがあって値がない場合

    デフォルトの「false」が使用されます。

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効になります。

この設定は,FTPサーバとの接続にFTPSを使用する場合だけ有効となります。なお,「true」を指定する場合,キーストアに関する設定が必要です。キーストアの設定方法については,「付録H.1 FTPSを使用したセキュアな接続(FTPアダプタ)」を参照してください。

<ftp-user>※3

0または1回

接続するFTPサーバのログインユーザ名を示すタグです。USERコマンドの引数として使用します。このタグに指定するログインユーザには,ファイル操作を実行できる権限が与えられている必要があります。

FTPアダプタ実行環境プロパティファイルに重複して設定されている場合,要求電文の値が有効になります。

  • タグがあって正常な値がある場合

    「USER "値"」が発行されます。値に改行が含まれている場合,システム例外を返します。

  • タグがあって値がない場合,または値に不正な文字が含まれている場合

    システム例外を返します。

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効になります。FTPアダプタ実行環境プロパティファイルに指定がない場合,システム例外を返します。

<ftp-acct>※3

0または1回

接続するFTPサーバの課金情報を示すタグです。

FTPアダプタアカウント定義ファイルに重複して設定されている場合,要求電文の値が有効になります。

課金情報を必要とするユーザ

条件に応じて次の値が利用されます。

  • タグがあって正常な値がある場合

    タグの内容がACCTコマンドに利用されます。値に改行が含まれている場合,システム例外を返します。

  • タグがあって値に不正な文字が含まれている場合

    システム例外を返します。

  • タグがあって値がない場合

    「ACCT ""」が発行されます。

  • タグがない場合

    FTPアダプタアカウント定義ファイルで指定されているACCTの値が利用されます。FTPアダプタアカウント定義ファイルにACCTがない場合は「ACCT ""」が発行されます。

課金情報を必要としないユーザ

指定は無視されます。

<ftp-type>

0または1回

転送するデータタイプ(伝送モード)を示すタグです。TYPEコマンドの引数として使用します。FTPアダプタ実行環境プロパティファイルに重複して設定されている場合,要求電文の値が有効になります。

指定値は次のどちらかです。

A:ASCII形式で転送します。

I:バイナリ形式で転送します。

  • タグがあって値が「A」または「I」の場合

    TYPEコマンドの引数として使用されます。

  • タグがあって値が「A」または「I」のどちらでもない場合

    システム例外を返します。

  • タグがあって値がない場合

    TYPEコマンドは実行されません。※4

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効になります。FTPアダプタ実行環境プロパティファイルに指定がない場合,TYPEコマンドは実行されません。※4

<ftp-mode>

0または1回

転送モード(圧縮モード)を示すタグです。MODEコマンドの引数として使用します。FTPアダプタ実行環境プロパティファイルに重複して設定されている場合,要求電文の値が有効になります。

指定値は次のどちらかです。

S:ファイルを圧縮しないで伝送します。

C:ファイルを圧縮して伝送します。

  • タグがあって値が「S」または「C」の場合

    MODEコマンドの引数として使用されます。

  • タグがあって値が「S」または「C」のどちらでもない場合

    システム例外を返します。

  • タグがあって値がない場合

    MODEコマンドは実行されません。

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効となります。FTPアダプタ実行環境プロパティファイルにも指定がない場合は,デフォルトの「S」でMODEコマンドが実行されます。

<pasvport>

0または1回

データコネクションの接続モードを示すタグです。

指定値は次のどちらかです。

PASV:PASVモードでデータコネクションを設定します。

PORT:PORTモードでデータコネクションを設定します。

  • タグがあって値が「PASV」または「PORT」の場合

    指定した値が適用されます。

  • タグがあって値が「PASV」または「PORT」のどちらでもない場合

    システム例外を返します。

  • タグがあって値がない場合

    デフォルトの「PASV」が使用されます。

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効になります。FTPアダプタ実行環境プロパティファイルにも指定がない場合は,デフォルトの「PASV」でデータコネクションを設定します。

要求電文からデータコネクションの接続モードを設定する場合,FTPアダプタ実行環境プロパティファイルで設定した値に対して,次のプロパティの値のチェック処理が実施されます。

  • PASV

    ftpadp.client-pasv-port.min

    ftpadp.client-pasv-port.max

  • PORT

    ftpadp.listen-port.min

    ftpadp.listen-port.max

チェック処理の詳細は,マニュアル「サービスプラットフォーム リファレンス」の「6.8.3 FTPアダプタ実行環境プロパティファイル」を参照してください。

<file-size-check>

0または1回

送信側と受信側で,転送されたファイルのサイズが正しいかどうか確認する機能を,実行するかどうかを指定するタグです。

指定値は次のどちらかです。

true:ファイルサイズを確認します。

false:ファイルサイズを確認しません。

  • タグがあって値が「true」または「false」の場合

    指定した値が適用されます。

  • タグがあって値が「true」または「false」のどちらでもない場合

    システム例外を返します。

  • タグがあって値がない場合

    デフォルトの「false」が使用されます。

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効になります。

<transfer-type>

1回

転送種別を示すタグです。次のどちらかを設定します。

STOR:ファイルの上書き

APPE:ファイルへの情報追加

  • タグがあって値が「STOR」または「APPE」の場合

    転送種別として利用されます。

  • タグがない,またはタグがあって値が「STOR」または「APPE」のどちらでもない場合

    システム例外を返します。

<request-id>

0または1回

受付で作成したリクエストIDを示すタグです。

  • タグがあって値がある場合

    リクエストIDとして利用されます。

  • タグがない,またはタグがあって値がない場合

    作業フォルダを利用するときはシステム例外を返します。共通フォルダを利用するときは無視されます。

<local-folder>

1回

ローカル側フォルダを示すタグです。

  • タグの属性にcommon="true"が指定されている場合

    ローカルフォルダとして共通フォルダを利用し,このタグには「共通フォルダ定義名」を指定します。

    指定された共通フォルダ定義名から共通フォルダが取得できないときは,システム例外を返します。

  • タグの属性にcommon="false"が指定されている場合

    ローカルフォルダとして作業フォルダを利用します。

  • common属性がない,または値が"true"および"false"のどちらでもない場合

    システム例外を返します。

<local-file-name>

1回

ローカル側ファイル名を示すタグです。

  • 作業フォルダを利用する場合,作業フォルダ直下のファイルを指定してください。ファイル名の先頭以外に区切り文字(スラッシュ(/),円マーク(\)など)は使用できません。ファイル名の先頭にスラッシュ(/)を使用した場合,スラッシュ(/)は無視されます。

  • 共通フォルダを利用する場合,共通フォルダルート配下のファイルを指定してください。シンボリックリンク以外のファイルを指定してください。

  • タグがあって値が上記の制限に従っている場合

    ファイル名として使用されます。

  • タグがあって値が上記の制限に違反する場合

    システム例外を返します。

  • タグがない,またはタグがあって値がない場合

    システム例外を返します。

<remote-path>※5

1回

リモートパス名(FTPサーバに転送するときの転送先パス名)を示すタグです。

  • タグがあって値がある場合

    リモートパス名として利用されます。

  • タグがない,またはタグがあって値がない場合

    システム例外を返します。

<ftp-commands-before>

0または1回

ファイル転送前に実行するFTPコマンドとその引数を示すタグです。※6

複数のコマンドを実行する場合は,実行する順番にセミコロン(;)で区切って設定します(例:MKD transdir;CWD transdir)。

  • タグがあって値がある場合

    ファイル転送前に実行するコマンドとして利用されます。

  • タグがない,またはタグがあって値がない場合

    ファイル転送前に実行するコマンドはありません。

<ftp-commands-after>

0または1回

ファイル転送後に実行するFTPコマンドとその引数を示すタグです。※6

複数のコマンドを実行する場合は,実行する順番にセミコロン(;)で区切って設定します(例:RNFR oldfile.txt;RNTO newfile.txt)。

  • タグがあって値がある場合

    ファイル転送後に実行するコマンドとして利用されます。

  • タグがない,またはタグがあって値がない場合

    ファイル転送後に実行するコマンドはありません。

(凡例)

−:該当する項目はありません。

注※1

規定の出現回数を超える場合の動作は保証されません。

注※2

接続先FTPサーバがFTPSのImplicitモードで動作している場合に<ftps-enable>タグ,または<ftps-implicit-mode>タグの値にfalseを指定すると,FTPサーバに接続したあとタイムアウトが発生するまで待ち状態となることがあります。

タイムアウトが発生するまでの時間は,次の値のうちどちらか小さい方です。

・FTPアダプタ実行環境プロパティファイルのftpadp.control-con.connect.timeoutプロパティで指定した値

・接続先FTPサーバ側で設定されたタイムアウト値

FTPアダプタ実行環境プロパティファイルのftpadp.control-con.connect.timeoutプロパティで指定した値でタイムアウトとなった場合,FTPアダプタ実行環境プロパティファイルのftpadp.control-con.retry.countプロパティで指定した回数のリトライを行ったあと,KDEK30407-Eのエラーが発生します。

接続先FTPサーバ側で設定されたタイムアウト値でタイムアウトとなった場合,KDEK30428-Eのエラーが発生します。

注※3

使用できる文字を次に示します。

半角英数字,半角空白,感嘆符(!),ダブルクォーテーション("),番号記号(#),ドル記号($),パーセント(%),アンパサンド(&),アポストロフィ('),始め小括弧((),終わり小括弧()),アスタリスク(*),正符号(+),コンマ(,),ハイフン(-),ピリオド(.),スラッシュ(/),コロン(:),セミコロン(;),左アングルブラケット(<),右アングルブラケット(>),等号(=),クエスチョンマーク(?),単価記号(@),始め角括弧([),終わり角括弧(]),円マーク(\),アクサンシルコンフレックス(^),アンダーバー(_),アクサングラーブ(`),始め波括弧({),終わり波括弧(}),パイプライン(|),波ダッシュ(~)

注※4

FTPプロトコルの仕様(RFC959)に従い,デフォルトではASCII形式で転送されます。

注※5

FTP受付の要求電文の<transfer-path>タグと同じ値をFTPアダプタの<remote-path>タグに設定すると,パスの先頭がスラッシュ(/)になります。

パスの先頭にスラッシュ(/)があると問題がある場合は,ビジネスプロセスのデータ変換アクティビティで部分文字列取得ファンクション(substr)を使用してFTP受付の要求電文の<transfer-path>タグの値から2文字目以降の文字列を取り出して,FTPアダプタの<remote-path>タグに設定してください。パスの先頭にスラッシュ(/)があると問題がある場合とは,相対パスを指定する場合やWindowsの絶対パス形式でパスを指定したい場合などです。

注※6

<ftp-commands-before>タグおよび<ftp-commands-after>タグに指定されたコマンドは,そのままFTPサーバに送られ,FTPアダプタはコマンドのオプションの妥当性やコマンドの実行による影響について関知しません。

そのため,<ftp-commands-before>タグおよび<ftp-commands-after>タグにOPTS UTF {ON|OFF}コマンドを指定した場合は,FTPサーバとの通信に適用される文字セットを次のどちらかで指定しておく必要があります。

・要求電文の<file-name-charset>タグ

・FTPアダプタ実行環境プロパティファイルのftpadp.file-name.charsetプロパティ

●GETオペレーション

ビジネスプロセスがFTPアダプタに渡すGETオペレーションの要求電文のフォーマットを次に示します。ファイル名は「ftpadp_get_request.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csaftp/get_request」です。

表3‒58 要求電文フォーマット(GETオペレーション)

タグ名

出現回数※1

説明

<request>

1回

<host-ipaddr>

0または1回

接続するFTPサーバのIPアドレスまたはホスト名です。

  • タグがあって値がある場合

    指定の文字列でconnectが発行されます。

  • タグがあって値がない場合

    システム例外を返します。

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効になります。FTPアダプタ実行環境プロパティファイルに指定がない場合,システム例外を返します。

Windowsを使用する場合,ループバックIPアドレス(127.0.0.1またはlocalhost)を指定すると,FTP接続に失敗する場合があります。実IPアドレスまたはホスト名を指定してください。

<host-con-port>

0または1回

FTPサーバの制御コネクション用ポート番号です。

  • タグがあって値がある場合

    1から65535までのポート番号を指定します。これ以外の値を指定した場合,システム例外を返します。

  • タグがあって値がない場合

    デフォルトの21が指定されます。

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効になります。

<file-name-charset>

0または1回

FTPサーバとの制御コネクションで,情報(ファイル名など)を送受信するときに使用する文字セットの名称を示すタグです。指定値は次のどちらかです。

UTF-8:文字セットに「UTF-8」を使用します。

MS932:文字セットに「MS932」を使用します。

  • タグがあって値が使用できる文字セット名の場合

    情報(ファイル名など)を送受信するときの文字セットとして適用されます。

  • タグがあって値が使用できない文字セット名の場合

    システム例外を返します。

  • タグがあって値がない場合

    デフォルトの「UTF-8」が使用されます。

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効になります。

<ftps>

0または1回

FTPSに関する設定を示すタグです。タグがない場合,FTPSに関するすべての設定はFTPアダプタ実行環境プロパティファイルの値が有効となります。

<ftps-enable>

0または1回

FTPサーバとの接続にFTPSを使用するかどうかを指定するタグです。指定値は次のどちらかです。

true:FTPサーバとの接続にFTPSを使用します。

false:FTPサーバとの接続に通常のFTPを使用します。※2

FTPSを使用する場合,制御コネクションおよびデータコネクションの通信は暗号化されます。ただし,接続先のFTPサーバがFTPSによる接続をサポートしている必要があります。「true」を指定した場合でも,データコネクションの通信の暗号化が設定されていないときは,データコネクションの通信も暗号化されません。

  • タグがあって値が「true」または「false」の場合

    指定した値が適用されます。

  • タグがあって値が「true」または「false」のどちらでもない場合

    システム例外を返します。

  • タグがあって値がない場合

    デフォルトの「false」が使用されます。

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効になります。

<ftps-protocol-name>

0または1回

FTPサーバとの接続にFTPSを使用する場合に,使用するセキュリティ通信用のプロトコルを示すタグです。指定値は次のどちらかです。

TLS:セキュリティ通信用のプロトコルにTLSを使用します。

SSL:セキュリティ通信用のプロトコルにSSLを使用します。

  • タグがあって値が「TLS」または「SSL」の場合

    指定した値が適用されます。

  • タグがあって値が「TLS」または「SSL」のどちらでもない場合

    システム例外を返します。

  • タグがあって値がない場合

    デフォルトの「TLS」が使用されます。

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効になります。

この設定は,FTPサーバとの接続にFTPSを使用する場合だけ有効となります。

<ftps-implicit-mode>

0または1回

FTPサーバとの接続にFTPSを使用する場合に,FTPSのImplicitモードを使用するかどうかを指定するタグです。指定値は次のどちらかです。

true:Implicitモードを使用します。

false:Explicitモードを使用します。※2

  • タグがあって値が「true」または「false」の場合

    指定した値が適用されます。

  • タグがあって値が「true」または「false」のどちらでもない場合

    システム例外を返します。

  • タグがあって値がない場合

    デフォルトの「false」が使用されます。

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効になります。

この設定は,FTPサーバとの接続にFTPSを使用する場合だけ有効となります。

<ftps-data-con-secure>

0または1回

FTPサーバとの接続にFTPSを使用する場合に,データコネクションの通信を暗号化するかどうかを指定するタグです。指定値は次のどちらかです。

true:データコネクションの通信を暗号化します。

false:データコネクションの通信を暗号化しません。

  • タグがあって値が「true」または「false」の場合

    指定した値が適用されます。

  • タグがあって値が「true」または「false」のどちらでもない場合

    システム例外を返します。

  • タグがあって値がない場合

    デフォルトの「true」が使用されます。

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効になります。

この設定は,FTPサーバとの接続にFTPSを使用する場合だけ有効となります。

<ftps-server-authentication>

0または1回

FTPサーバとの接続にFTPSを使用する場合に,サーバ認証をするかどうかを指定するタグです。指定値は次のどちらかです。

true:サーバ認証をします。

false:サーバ認証をしません。

  • タグがあって値が「true」または「false」の場合

    指定した値が適用されます。

  • タグがあって値が「true」または「false」のどちらでもない場合

    システム例外を返します。

  • タグがあって値がない場合

    デフォルトの「false」が使用されます。

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効になります。

この設定は,FTPサーバとの接続にFTPSを使用する場合だけ有効となります。なお,「true」を指定する場合,キーストアに関する設定が必要です。キーストアの設定方法については,「付録H.1 FTPSを使用したセキュアな接続(FTPアダプタ)」を参照してください。

<ftp-user>※3

0または1回

接続するFTPサーバのログインユーザ名を示すタグです。USERコマンドの引数として使用します。このタグに指定するログインユーザには,ファイル操作を実行できる権限が与えられている必要があります。

FTPアダプタ実行環境プロパティファイルに重複して設定されている場合,要求電文の値が有効になります。

  • タグがあって正常な値がある場合

    「USER "値"」が発行されます。値に改行が含まれている場合,システム例外を返します。

  • タグがあって値がない場合,または値に不正な文字が含まれている場合

    システム例外を返します。

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効になります。FTPアダプタ実行環境プロパティファイルに指定がない場合,システム例外を返します。

<ftp-acct>※3

0または1回

接続するFTPサーバの課金情報を示すタグです。FTPアダプタアカウント定義ファイルに重複して設定されている場合,要求電文の値が有効になります。

課金情報を必要とするユーザ

条件に応じて次の値が利用されます。

  • タグがあって正常な値がある場合

    タグの内容がACCTコマンドに利用されます。値に改行が含まれている場合,システム例外を返します。

  • タグがあって値に不正な文字が含まれている場合

    システム例外を返します。

  • タグがあって値がない場合

    「ACCT ""」が発行されます。

  • タグがない場合

    FTPアダプタアカウント定義ファイルで指定されているACCTの値が利用されます。FTPアダプタアカウント定義ファイルにACCTがない場合は「ACCT ""」が発行されます。

課金情報を必要としないユーザ

指定は無視されます。

<ftp-type>

0または1回

転送するデータタイプ(伝送モード)を示すタグです。TYPEコマンドの引数として使用します。FTPアダプタ実行環境プロパティファイルに重複して設定されている場合,要求電文の値が有効になります。

指定値は次のどちらかです。

A:ASCII形式で転送します。

I:バイナリ形式で転送します。

  • タグがあって値が「A」または「I」の場合

    TYPEコマンドの引数として使用されます。

  • タグがあって値が「A」または「I」のどちらでもない場合

    システム例外を返します。

  • タグがあって値がない場合

    TYPEコマンドは実行されません。※4

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効になります。FTPアダプタ実行環境プロパティファイルにも指定がない場合,TYPEコマンドは実行されません。※4

<ftp-mode>

0または1回

転送モード(圧縮モード)を示すタグです。MODEコマンドの引数として使用します。FTPアダプタ実行環境プロパティファイルに重複して設定されている場合,要求電文の値が有効になります。

指定値は次のどちらかです。

S:ファイルを圧縮しないで伝送します。

C:ファイルを圧縮して伝送します。

  • タグがあって値が「S」または「C」の場合

    MODEコマンドの引数として使用されます。

  • タグがあって値が「S」または「C」のどちらでもない場合

    システム例外を返します。

  • タグがあって値がない場合

    MODEコマンドは実行されません。

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効となります。FTPアダプタ実行環境プロパティファイルにも指定がない場合は,デフォルトの「S」でMODEコマンドが実行されます。

<pasvport>

0または1回

データコネクションの接続モードを示すタグです。

指定値は次のどちらかです。

PASV:PASVモードでデータコネクションを設定します。

PORT:PORTモードでデータコネクションを設定します。

  • タグがあって値が「PASV」または「PORT」の場合

    指定した値が適用されます。

  • タグがあって値が「PASV」または「PORT」のどちらでもない場合

    システム例外を返します。

  • タグがあって値がない場合

    デフォルトの「PASV」が使用されます。

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効になります。FTPアダプタ実行環境プロパティファイルにも指定がない場合は,デフォルトの「PASV」でデータコネクションを設定します。

要求電文からデータコネクションの接続モードを設定する場合,FTPアダプタ実行環境プロパティファイルで設定した値に対して,次のプロパティの値のチェック処理が実施されます。

  • PASV

    ftpadp.client-pasv-port.min

    ftpadp.client-pasv-port.max

  • PORT

    ftpadp.listen-port.min

    ftpadp.listen-port.max

チェック処理の詳細は,マニュアル「サービスプラットフォーム リファレンス」の「6.8.3 FTPアダプタ実行環境プロパティファイル」を参照してください。

<file-size-check>

0または1回

送信側と受信側で,転送されたファイルのサイズが正しいかどうか確認する機能を,実行するかどうかを指定するタグです。

指定値は次のどちらかです。

true:ファイルサイズを確認します。

false:ファイルサイズを確認しません。

  • タグがあって値が「true」または「false」の場合

    指定した値が適用されます。

  • タグがあって値が「true」または「false」のどちらでもないの場合

    システム例外を返します。

  • タグがあって値がない場合

    デフォルトの「false」が使用されます。

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効になります。

<request-id>

0または1回

受付で作成したリクエストIDを示すタグです。

  • タグがあって値がある場合

    リクエストIDとして利用されます。

  • タグがない,またはタグがあって値がない場合

    作業フォルダを利用するときはシステム例外を返します。共通フォルダを利用するときは無視されます。

<local-folder>

1回

ローカル側フォルダを示すタグです。

  • タグの属性にcommon="true"が指定されている場合

    ローカルフォルダとして共通フォルダを利用し,このタグには「共通フォルダ定義名」を指定します。

    指定された共通フォルダ定義名から共通フォルダが取得できないときは,システム例外を返します。

  • タグの属性にcommon="false"が指定されている場合

    ローカルフォルダとして作業フォルダを利用します。

  • common属性がない,または値が"true"および"false"のどちらでもない場合

    システム例外を返します。

<local-file-name>

0または1回

ローカル側ファイル名を示すタグです。

作業フォルダを利用する場合
  • タグがあって値があるとき

    この設定は無視されて処理が続行されます。

  • タグがない,またはタグがあって値がないとき

    処理が続行されます。

共通フォルダを利用する場合

共通フォルダルート配下のファイルを指定してください。

指定したファイル名でファイルを作成します。

存在するファイル名を指定した場合,ファイルが上書きされます。

共通フォルダルートからの相対パスで指定したサブフォルダが存在しない場合は,サブフォルダを作成します。

また,シンボリックリンク以外のファイルを指定してください。

  • タグがあって値が上記の制限に従っているとき

    ファイル名として使用されます。

  • タグがあって値が上記の制限に違反するとき

    システム例外を返します。

  • タグがない,またはタグがあって値がないとき

    システム例外を返します。

<remote-path>※5

1回

リモートパス名(FTPサーバ上にある取得対象パス名)を示すタグです。

  • タグがあって値がある場合

    リモートパス名として利用されます。

  • タグがない,またはタグがあって値がない場合

    システム例外を返します。

<ftp-commands-before>※6

0または1回

ファイル転送前に実行するFTPコマンドとその引数を示すタグです。

複数のコマンドを実行する場合は,実行する順番にセミコロン(;)で区切って設定します。(例:MKD transdir;CWD transdir)

  • タグがあって値がある場合

    ファイル転送前に実行するコマンドとして利用されます。

  • タグがない,またはタグがあって値がない場合

    ファイル転送前に実行するコマンドはありません。

<ftp-commands-after>※6

0または1回

ファイル転送後に実行するFTPコマンドとその引数を示すタグです。

複数のコマンドを実行する場合は,実行する順番にセミコロン(;)で区切って設定します。(例:RNFR oldfile.txt;RNTO newfile.txt)

  • タグがあって値がある場合

    ファイル転送後に実行するコマンドとして利用されます。

  • タグがない,またはタグがあって値がない場合

    ファイル転送後に実行するコマンドはありません。

(凡例)

−:該当する項目はありません。

注※1

規定の出現回数を超える場合の動作は保証されません。

注※2

接続先FTPサーバがFTPSのImplicitモードで動作している場合に<ftps-enable>タグ,または<ftps-implicit-mode>タグの値にfalseを指定すると,FTPサーバに接続したあとタイムアウトが発生するまで待ち状態となることがあります。

タイムアウトが発生するまでの時間は,次の値のうちどちらか小さい方です。

・FTPアダプタ実行環境プロパティファイルのftpadp.control-con.connect.timeoutプロパティで指定した値

・接続先FTPサーバ側で設定されたタイムアウト値

FTPアダプタ実行環境プロパティファイルのftpadp.control-con.connect.timeoutプロパティで指定した値でタイムアウトとなった場合,FTPアダプタ実行環境プロパティファイルのftpadp.control-con.retry.countプロパティで指定した回数のリトライを行ったあと,KDEK30407-Eのエラーが発生します。

接続先FTPサーバ側で設定されたタイムアウト値でタイムアウトとなった場合,KDEK30428-Eのエラーが発生します。

注※3

使用できる文字を次に示します。

半角英数字,半角空白,感嘆符(!),ダブルクォーテーション("),番号記号(#),ドル記号($),パーセント(%),アンパサンド(&),アポストロフィ('),始め小括弧((),終わり小括弧()),アスタリスク(*),正符号(+),コンマ(,),ハイフン(-),ピリオド(.),スラッシュ(/),コロン(:),セミコロン(;),左アングルブラケット(<),右アングルブラケット(>),等号(=),クエスチョンマーク(?),単価記号(@),始め角括弧([),終わり角括弧(]),円マーク(\),アクサンシルコンフレックス(^),アンダーバー(_),アクサングラーブ(`),始め波括弧({),終わり波括弧(}),パイプライン(|),波ダッシュ(~)

注※4

FTPプロトコルの仕様(RFC959)に従い,デフォルトではASCII形式で転送されます。

注※5

FTP受付の要求電文の<transfer-path>タグと同じ値をFTPアダプタの<remote-path>タグに設定すると,パスの先頭がスラッシュ(/)になります。

パスの先頭にスラッシュ(/)があると問題がある場合は,ビジネスプロセスのデータ変換アクティビティで部分文字列取得ファンクション(substr)を使用してFTP受付の要求電文の<transfer-path>タグの値から2文字目以降の文字列を取り出して,FTPアダプタの<remote-path>タグに設定してください。パスの先頭にスラッシュ(/)があると問題がある場合とは,相対パスを指定する場合やWindowsの絶対パス形式でパスを指定したい場合などです。

注※6

<ftp-commands-before>タグおよび<ftp-commands-after>タグに指定されたコマンドは,そのままFTPサーバに送られ,FTPアダプタはコマンドのオプションの妥当性やコマンドの実行による影響について関知しません。

そのため,<ftp-commands-before>タグおよび<ftp-commands-after>タグにOPTS UTF {ON|OFF}コマンドを指定した場合は,FTPサーバとの通信に適用される文字セットを次のどちらかで指定しておく必要があります。

・要求電文の<file-name-charset>タグ

・FTPアダプタ実行環境プロパティファイルのftpadp.file-name.charsetプロパティ

●GETINFOオペレーション

ビジネスプロセスがFTPアダプタに渡すGETINFOオペレーションの要求電文のフォーマットを次に示します。ファイル名は「ftpadp_getinfo_request.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csaftp/getinfo_request」です。

表3‒59 要求電文フォーマット(GETINFOオペレーション)

タグ名

出現回数※1

説明

<request>

1回

<host-ipaddr>

0または1回

接続するFTPサーバのIPアドレスまたはホスト名です。

  • タグがあって値がある場合

    指定の文字列でconnectが発行されます。

  • タグがあって値がない場合

    システム例外を返します。

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効になります。FTPアダプタ実行環境プロパティファイルに指定がない場合,システム例外を返します。

Windowsを使用する場合,ループバックIPアドレス(127.0.0.1またはlocalhost)を指定すると,FTP接続に失敗する場合があります。実IPアドレスまたはホスト名を指定してください。

<host-con-port>

0または1回

FTPサーバの制御コネクション用ポート番号です。

  • タグがあって値がある場合

    1から65535までのポート番号を指定します。これ以外の値を指定した場合,システム例外を返します。

  • タグがあって値がない場合

    デフォルトの21が指定されます。

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効になります。

<file-name-charset>

0または1回

FTPサーバとの間の制御コネクションで,次に示す情報を送受信するときに使用する文字セットの名称を示すタグです。

  • 制御コネクションで送受信する情報(ファイル名など)

  • LISTコマンドまたはNLSTコマンド実行時にデータコネクションを介してFTPサーバから受け取る情報(ファイルの一覧情報)

指定値は次のどちらかです。

UTF-8:文字セットに「UTF-8」を使用します。

MS932:文字セットに「MS932」を使用します。

  • タグがあって値が使用できる文字セットの場合

    情報(ファイル名など)を送受信するときの文字セットとして適用されます。

  • タグがあって値が使用できない文字セット名の場合

    システム例外を返します。

  • タグがあって値がない場合

    デフォルトの「UTF-8」が使用されます。

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効になります。

<ftps>

0または1回

FTPSに関する設定を示すタグです。タグがない場合,FTPSに関するすべての設定はFTPアダプタ実行環境プロパティファイルの値が有効となります。

<ftps-enable>

0または1回

FTPサーバとの接続にFTPSを使用するかどうかを指定するタグです。指定値は次のどちらかです。

true:FTPサーバとの接続にFTPSを使用します。

false:FTPサーバとの接続に通常のFTPを使用します。※2

FTPSを使用する場合,制御コネクションおよびデータコネクションの通信は暗号化されます。ただし,接続先のFTPサーバがFTPSによる接続をサポートしている必要があります。「true」を指定した場合でも,データコネクションの通信の暗号化が設定されていないときは,データコネクションの通信も暗号化されません。

  • タグがあって値が「true」または「false」の場合

    指定した値が適用されます。

  • タグがあって値が「true」または「false」のどちらでもない場合

    システム例外を返します。

  • タグがあって値がない場合

    デフォルトの「false」が使用されます。

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効になります。

<ftps-protocol-name>

0または1回

FTPサーバとの接続にFTPSを使用する場合に,使用するセキュリティ通信用のプロトコルを示すタグです。指定値は次のどちらかです。

TLS:セキュリティ通信用のプロトコルにTLSを使用します。

SSL:セキュリティ通信用のプロトコルにSSLを使用します。

  • タグがあって値が「TLS」または「SSL」の場合

    指定した値が適用されます。

  • タグがあって値が「TLS」または「SSL」のどちらでもない場合

    システム例外を返します。

  • タグがあって値がない場合

    デフォルトの「TLS」が使用されます。

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効になります。

この設定は,FTPサーバとの接続にFTPSを使用する場合だけ有効となります。

<ftps-implicit-mode>

0または1回

FTPサーバとの接続にFTPSを使用する場合に,FTPSのImplicitモードを使用するかどうかを指定するタグです。指定値は次のどちらかです。

true:Implicitモードを使用します。

false:Explicitモードを使用します。※2

  • タグがあって値が「true」または「false」の場合

    指定した値が適用されます。

  • タグがあって値が「true」または「false」のどちらでもない場合

    システム例外を返します。

  • タグがあって値がない場合

    デフォルトの「false」が使用されます。

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効になります。

この設定は,FTPサーバとの接続にFTPSを使用する場合だけ有効となります。

<ftps-data-con-secure>

0または1回

FTPサーバとの接続にFTPSを使用する場合に,データコネクションの通信を暗号化するかどうかを指定するタグです。指定値は次のどちらかです。

true:データコネクションの通信を暗号化します。

false:データコネクションの通信を暗号化しません。

  • タグがあって値が「true」または「false」の場合

    指定した値が適用されます。

  • タグがあって値が「true」または「false」のどちらでもない場合

    システム例外を返します。

  • タグがあって値がない場合

    デフォルトの「true」が使用されます。

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効になります。

この設定は,FTPサーバとの接続にFTPSを使用する場合だけ有効となります。

<ftps-server-authentication>

0または1回

FTPサーバとの接続にFTPSを使用する場合に,サーバ認証をするかどうかを指定するタグです。指定値は次のどちらかです。

true:サーバ認証をします。

false:サーバ認証をしません。

  • タグがあって値が「true」または「false」の場合

    指定した値が適用されます。

  • タグがあって値が「true」または「false」のどちらでもない場合

    システム例外を返します。

  • タグがあって値がない場合

    デフォルトの「false」が使用されます。

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効になります。

この設定は,FTPサーバとの接続にFTPSを使用する場合だけ有効となります。なお,「true」を指定する場合,キーストアに関する設定が必要です。キーストアの設定方法については,「付録H.1 FTPSを使用したセキュアな接続(FTPアダプタ)」を参照してください。

<ftp-user>※3

0または1回

接続するFTPサーバのログインユーザ名を示すタグです。USERコマンドの引数として使用します。ログインユーザ名は80文字以内で指定してください。このタグに指定するログインユーザには,ファイル操作を実行できる権限が与えられている必要があります。

FTPアダプタ実行環境プロパティファイルに重複して設定されている場合,要求電文の値が有効になります。

  • タグがあって正常な値がある場合

    「USER "値"」が発行されます。値に改行が含まれている場合,システム例外を返します。

  • タグがあって値がない場合,または値に不正な文字が含まれている場合

    システム例外を返します。

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効になります。FTPアダプタ実行環境プロパティファイルに指定がない場合,システム例外を返します。

<ftp-acct>※3

0または1回

接続するFTPサーバの課金情報を示すタグです。FTPアダプタアカウント定義ファイルに重複して設定されている場合,要求電文の値が有効になります。

課金情報を必要とするユーザ

条件に応じて次の値が利用されます。

  • タグがあって正常な値がある場合

    タグの内容がACCTコマンドに利用されます。値に改行が含まれている場合,システム例外を返します。

  • タグがあって値に不正な文字が含まれている場合

    システム例外を返します。

  • タグがあって値がない場合

    「ACCT ""」が発行されます。

  • タグがない場合

    FTPアダプタアカウント定義ファイルで指定されているACCTの値が利用されます。FTPアダプタアカウント定義ファイルにACCTがない場合は「ACCT ""」が発行されます。

課金情報を必要としないユーザ

指定は無視されます。

<pasvport>

0または1回

データコネクションの接続モードを示すタグです。

指定値は次のどちらかです。

PASV:PASVモードでデータコネクションを設定します。

PORT:PORTモードでデータコネクションを設定します。

  • タグがあって値が「PASV」または「PORT」の場合

    指定した値が適用されます。

  • タグがあって値が「PASV」または「PORT」のどちらでもない場合

    システム例外を返します。

  • タグがあって値がない場合

    デフォルトの「PASV」が使用されます。

  • タグがない場合

    FTPアダプタ実行環境プロパティファイルの値が有効になります。FTPアダプタ実行環境プロパティファイルにも指定がない場合は,デフォルトの「PASV」でデータコネクションを設定します。

要求電文からデータコネクションの接続モードを設定する場合,FTPアダプタ実行環境プロパティファイルで設定した値に対して,次のプロパティの値のチェック処理が実施されます。

  • PASV

    ftpadp.client-pasv-port.min

    ftpadp.client-pasv-port.max

  • PORT

    ftpadp.listen-port.min

    ftpadp.listen-port.max

チェック処理の詳細は,マニュアル「サービスプラットフォーム リファレンス」の「6.8.3 FTPアダプタ実行環境プロパティファイル」を参照してください。

<getinfo-type>

1回

接続するFTPサーバから取得する情報の取得種別を示すタグです。

設定値は次のどちらかです。

LIST:LISTコマンドを実行し,ファイル情報の一覧を取得します。

NLST:NLSTコマンドを実行し,ファイル名の一覧を取得します。

  • タグがあって値が「LIST」または「NLST」の場合

    指定した値を取得種別として利用します。

  • タグがあって値が「LIST」または「NLST」のどちらでもない場合

    システム例外を返します。

  • タグがない,またはタグがあって値がない場合

    システム例外を返します。

<getinfo-option>

0または1回

接続するFTPサーバから取得する情報の取得オプションを示すタグです。<getinfo-type>で指定したコマンドを実行するときに指定するオプションです。

  • タグがあって値がある場合

    指定した値がオプションとして指定されて,<getinfo-type>で指定したコマンドが実行されます。

  • タグがない,またはタグがあって値がない場合

    オプションなしで,<getinfo-type>で指定したコマンドが実行されます。

<getinfo-path>

0または1回

接続するFTPサーバから取得する情報の取得パスを示すタグです。<getinfo-type>で指定したコマンドを実行するときに指定するパスです。

  • タグがあって値がある場合

    指定した値がパスとして指定されて,<getinfo-type>で指定したコマンドが実行されます。

  • タグがない,またはタグがあって値がない場合

    パスなしで,<getinfo-type>で指定したコマンドが実行されます。

<request-id>

0または1回

FTP受付で作成したリクエストIDを示すタグです。※5

  • タグがあって値がある場合

    ローカルフォルダとして作業フォルダが使用されます。指定されている値はリクエストIDとして利用されます。

    <local-folder>の属性にcommon="true"以外が指定されているときだけ有効になります。

  • タグがあって値がない場合

    システム例外を返します。

  • タグがない場合

    <local-folder>タグを省略しているときは応答電文に出力されます。

<local-folder>

0または1回

ローカル側フォルダを示すタグです。※5

  • タグの属性にcommon="true"が指定されている場合

    ローカルフォルダとして共通フォルダを利用し,このタグには「共通フォルダ定義名」を指定します。

  • タグの属性にcommon="false"が指定されている場合

    ローカルフォルダとして作業フォルダを利用します。

  • common属性がない,または値が"true"および"false"のどちらでもない場合

    システム例外を返します。

  • タグがない場合

    ローカルフォルダとして作業フォルダを利用します。ただし,<request-id>を省略したときは応答電文に出力されます。

<local-file-name>

0または1回

ローカル側ファイル名を示すタグです。※5

作業フォルダを利用する場合

タグの指定は無視されて処理が続行されます。

共通フォルダを利用する場合

共通フォルダルート配下のファイル名を指定してください。

指定したファイル名でファイルを作成します。

存在するファイル名を指定した場合,ファイルが上書きされます。

共通フォルダルートからの相対パスで指定したサブフォルダが存在しない場合は,サブフォルダを作成します。

シンボリックリンク以外のファイルを指定してください。

  • タグがあって値が上記の制限に従っているとき

    ファイル名として使用されます。

  • タグがあって値が上記の制限に違反するとき

    システム例外を返します。

  • タグがない,またはタグがあって値がないとき

    システム例外を返します。

応答電文に出力する場合

タグの指定は無視されて処理が続行されます。

<ftp-commands-before>※4

0または1回

リストコマンド実行前に実行するFTPコマンドとその引数を示すタグです。

複数のコマンドを実行する場合は,実行する順番にセミコロン(;)で区切って設定します(例:MKD transdir;CWD transdir)。

  • タグがあって値がある場合

    リストコマンド実行前に実行するコマンドとして利用されます。

  • タグがない,またはタグがあって値がない場合

    リストコマンド実行前に実行するコマンドはありません。

<ftp-commands-after>※4

0または1回

リストコマンド実行後に実行するFTPコマンドとその引数を示すタグです。

複数のコマンドを実行する場合は,実行する順番にセミコロン(;)で区切って設定します(例:RNFR oldfile.txt;RNTO newfile.txt)。

  • タグがあって値がある場合

    リストコマンド実行後に実行するコマンドとして利用されます。

  • タグがない,またはタグがあって値がない場合

    リストコマンド実行後に実行するコマンドはありません。

(凡例)

−:該当する項目はありません。

注※1

規定の出現回数を超える場合の動作は保証されません。

注※2

接続先FTPサーバがFTPSのImplicitモードで動作している場合に<ftps-enable>タグ,または<ftps-implicit-mode>タグの値にfalseを指定すると,FTPサーバに接続したあとタイムアウトが発生するまで待ち状態となることがあります。

タイムアウトが発生するまでの時間は,次の値のうちどちらか小さい方です。

・FTPアダプタ実行環境プロパティファイルのftpadp.control-con.connect.timeoutプロパティで指定した値

・接続先FTPサーバ側で設定されたタイムアウト値

FTPアダプタ実行環境プロパティファイルのftpadp.control-con.connect.timeoutプロパティで指定した値でタイムアウトとなった場合,FTPアダプタ実行環境プロパティファイルのftpadp.control-con.retry.countプロパティで指定した回数のリトライを行ったあと,KDEK30407-Eのエラーが発生します。

接続先FTPサーバ側で設定されたタイムアウト値でタイムアウトとなった場合,KDEK30428-Eのエラーが発生します。

注※3

使用できる文字を次に示します。

半角英数字,半角空白,感嘆符(!),ダブルクォーテーション("),番号記号(#),ドル記号($),パーセント(%),アンパサンド(&),アポストロフィ('),始め小括弧((),終わり小括弧()),アスタリスク(*),正符号(+),コンマ(,),ハイフン(-),ピリオド(.),スラッシュ(/),コロン(:),セミコロン(;),左アングルブラケット(<),右アングルブラケット(>),等号(=),クエスチョンマーク(?),単価記号(@),始め角括弧([),終わり角括弧(]),円マーク(\),アクサンシルコンフレックス(^),アンダーバー(_),アクサングラーブ(`),始め波括弧({),終わり波括弧(}),パイプライン(|),波ダッシュ(~)

注※4

<ftp-commands-before>タグおよび<ftp-commands-after>タグに指定されたコマンドは,そのままFTPサーバに送られ,FTPアダプタはコマンドのオプションの妥当性やコマンドの実行による影響について関知しません。

そのため,<ftp-commands-before>タグおよび<ftp-commands-after>タグにOPTS UTF {ON|OFF}コマンドを指定した場合は,FTPサーバとの通信に適用される文字セットを次のどちらかで指定しておく必要があります。

・要求電文の<file-name-charset>タグ

・FTPアダプタ実行環境プロパティファイルのftpadp.file-name.charsetプロパティ

注※5

GETINFOオペレーションの定義方法については,「(c) GETINFOオペレーションを使用する場合の要求電文および応答電文」を参照してください。

(b) FTPアダプタの応答電文フォーマット

●PUTオペレーション

FTPアダプタが呼び出し元のビジネスプロセスに返すPUTオペレーションの応答電文のフォーマットを次に示します。ファイル名は「ftpadp_put_response.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csaftp/put_response」です。

表3‒60 応答電文フォーマット(PUTオペレーション)

タグ名

出現回数

説明

<response>

1回

<local-folder>

1回

ローカル側フォルダを示すタグです。

作業フォルダを利用した場合,属性に「common="false"」が設定されます。値には空白が設定されます。

共通フォルダを利用した場合,属性に「common="true"」が設定されます。値には,要求電文の<local-folder>タグで指定された共通フォルダ定義名が設定されます。

<local-file-name>

1回

ローカル側ファイル名を示すタグです。

要求電文の<local-file-name>で指定した値が設定されます。

<command-info>

1回以上

<command>

1回

FTPアダプタが実行したコマンドを示すタグです。※1

実行したすべてのFTPコマンドが出力されます。

<command-message>

1回以上

FTPアダプタが実行したコマンドの表示メッセージを示すタグです。※2

FTPコマンドのメッセージはFTP応答コードとメッセージから構成されます。

メッセージが複数行ある場合,これらが同一の応答コードのときは,1つのタグが生成されます。複数の種類のFTP応答コードがあるときは,このタグも複数生成されます。

(凡例)

−:該当する項目はありません。

注※1

FTPアダプタが実行するコマンドの種類については,マニュアル「サービスプラットフォーム 解説」の「8.6.2 FTPコマンドの実行」を参照してください。

FTPアダプタが実行したコマンドの出力フォーマットと出力例については,「表3-63」を参照してください。

注※2

FTPコマンドのメッセージフォーマットと出力例については,「表3-64」を参照してください。

●GETオペレーション

FTPアダプタが呼び出し元のビジネスプロセスに返すGETオペレーションの応答電文のフォーマットを次に示します。ファイル名は「ftpadp_get_response.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csaftp/get_response」です。

表3‒61 応答電文フォーマット(GETオペレーション)

タグ名

出現回数

説明

<response>

1回

<local-folder>

1回

ローカル側フォルダを示すタグです。

作業フォルダを利用した場合,属性に「common="false"」が設定されます。値には空白が設定されます。

共通フォルダを利用した場合,属性に「common="true"」が設定されます。値には,要求電文の<local-folder>タグで指定された共通フォルダ定義名が設定されます。

<local-file-name>

1回

ローカル側ファイル名を示すタグです。

作業フォルダを利用する場合

作業フォルダの下に格納したファイル名が設定されます。ファイル名は,「csc_<内部生成された文字>」の形式となります。

共通フォルダを利用する場合

要求電文の<local-file-name>で指定した値が設定されます。

<file-size>

1回

送受信したリモートファイルのサイズを示すタグです。

FTPサーバから取得したローカルファイルのサイズが設定されます。

<command-info>

1回以上

<command>

1回

FTPアダプタが実行したFTPコマンドを示すタグです。※1

実行したすべてのFTPコマンドが出力されます。

<command-message>

1回以上

FTPアダプタが実行したコマンドの表示メッセージを示すタグです。※2

FTPコマンドのメッセージはFTP応答コードとメッセージから構成されます。

メッセージが複数行ある場合,これらが同一の応答コードのときは,1つのタグが生成されます。複数の種類のFTP応答コードがあるときは,このタグも複数生成されます。

(凡例)

−:該当する項目はありません。

注※1

FTPアダプタが実行するコマンドの種類については,マニュアル「サービスプラットフォーム 解説」の「8.6.2 FTPコマンドの実行」を参照してください。

FTPアダプタが実行したコマンドの出力フォーマットと出力例については,「表3-63」を参照してください。

注※2

FTPコマンドのメッセージフォーマットと出力例については,「表3-64」を参照してください。

●GETINFOオペレーション

FTPアダプタが呼び出し元のビジネスプロセスに返すGETINFOオペレーションの応答電文のフォーマットを次に示します。ファイル名は「ftpadp_getinfo_response.xsd」です。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csaftp/getinfo_response」です。

表3‒62 応答電文フォーマット(GETINFOオペレーション)

タグ名

出現回数

説明

<response>

1回

<local-folder>

0または1回

ローカル側フォルダを示すタグです。共通フォルダに出力する場合に出現します。作業フォルダまたは応答電文に出力する場合は出現しません。

共通フォルダを利用した場合

属性に「common="true"」が設定されます。値には,要求電文の<local-folder>タグで指定された共通フォルダ定義名が設定されます。

<local-file-name>

0または1回

ローカル側ファイル名を示すタグです。作業フォルダまたは共通フォルダに出力する場合に出現します。応答電文に出力する場合は出現しません。

作業フォルダを利用した場合

作業フォルダの下に格納したファイル名が設定されます。ファイル名は,「csc_<内部生成された文字>」の形式となります。

取得した情報は,「UTF-16」の文字セットで出力されます。また,改行コードはCRLFで出力されます。

共通フォルダを利用した場合

要求電文の<local-file-name>で指定した値が設定されます。

このファイル中には取得した情報がUTF-16の文字セットで書き込まれます。また,改行コードはCRLFとなります。

<reply-code>

1回

LISTコマンドまたはNLSTコマンドのリプライコードを示すタグです。

LISTコマンドまたはNLSTコマンドを実行したときに,FTPサーバから最後に送られてくるリプライコードとして,次のどれかが設定されます。

  • 200〜299

    処理が正常に完了したことを示すコードです。

  • 450または550

    ファイル操作ができなかったことを示すコードです。

なお,LISTコマンドまたはNLSTコマンドで指定したパスが存在しない場合,返されるリプライコードは接続先のFTPサーバによって異なります。

<reply-message>

1回

LISTコマンドまたはNLSTコマンドのリプライメッセージを示すタグです。

LISTコマンドまたはNLSTコマンドを実行したときに,FTPサーバから最後に送られてきたリプライメッセージが設定されます。

<command-info>

1回以上

<command>

1回

FTPアダプタが実行したFTPコマンドを示すタグです。※1

実行したすべてのFTPコマンドが出力されます。

<command-message>

1回以上

FTPアダプタが実行したコマンドの表示メッセージを示すタグです。※2

FTPコマンドのメッセージはFTP応答コードとメッセージから構成されます。

メッセージが複数行ある場合,これらが同一の応答コードのときは,1つのタグが生成されます。複数の種類のFTP応答コードがあるときは,このタグも複数生成されます。

<list-info>

0または1回

応答電文に出力する場合に出現します。※3

<list>

0回以上

応答電文に出力する場合に出現します。※3

(凡例)

−:該当する項目はありません。

注※1

FTPアダプタが実行するコマンドの種類については,マニュアル「サービスプラットフォーム 解説」の「8.6.2 FTPコマンドの実行」を参照してください。

FTPアダプタが実行したコマンドの出力フォーマットと出力例については,「表3-63」を参照してください。

注※2

FTPコマンドのメッセージフォーマットと出力例については,「表3-64」を参照してください。

注※3

GETINFOオペレーションの定義方法については,「(c) GETINFOオペレーションを使用する場合の要求電文および応答電文」を参照してください。

●FTPアダプタが実行したコマンドの出力フォーマットと出力例

応答電文の<command>タグに出力されるFTPコマンドの出力フォーマットと出力例を次の表に示します。

表3‒63 FTPアダプタが実行したコマンドの出力フォーマットと出力例

項番

FTPコマンド

出力フォーマット

出力例

備考

1

(接続処理)

Connected to <xxxxx>.

Connected to 10.208.180.254.

<xxxxx>はFTPサーバのIPアドレスまたはホスト名です。

2

USER

USER <ユーザ名>

USER user1

3

PASS

PASS ********

PASS ********

パスワードは8個の*で表示されます。

4

ACCT

ACCT <課金情報>

ACCT acct1

5

TYPE

TYPE <形式オプション>

TYPE A

<形式オプション>には「A」または「I」のどちらかが表示されます。

6

MODE

MODE <転送モードオプション>

MODE S

<転送モードオプション>には「S」または「C」のどちらかが表示されます。

7

PASV

PASV

PASV

8

PORT

PORT <aaa>,<bbb>,<ccc>,<ddd>,<mmm>,<nnn>

PORT 10,208,182,27,14,160

<aaa>,<bbb>,<ccc>,<ddd>はローカル側のIPアドレスです。

<mmm>,<nnn>はポート番号です。ローカル側のデータコネクションポート番号は256*mmm+nnnで表現されます。

9

SITE

SITE FSIZE [<ファイルサイズ>]

SITE FSIZE 4096

GETオペレーションの場合,<ファイルサイズ>は出力されません。

また,PUTオペレーションの場合,<ファイルサイズ>に転送元ファイルの転送路上のファイルサイズが出力されます。

10

転送前コマンドまたはリスト前コマンド

<コマンド名> [<コマンド引数>]

CWD ./workdir

11

STOR

STOR <パス名>

STOR work/fileA.txt

12

APPE

APPE <パス名>

APPE work/fileA.txt

13

RETR

RETR <パス名>

RETR fileA.txt

14

LIST

LIST [<オプション>] [<パス名>]

LIST -l work

15

NLST

NLST [<オプション>] [<パス名>]

NLST -l work

16

転送後コマンドまたはリスト後コマンド

<コマンド名> [<コマンド引数>]

RNFR fileA.txt

RNTO fileB.txt

17

QUIT

QUIT

QUIT

(凡例)

−:該当する説明はありません。

●FTPコマンドのメッセージフォーマットと出力例

応答電文の<command-message>タグに出力されるFTPコマンドのメッセージフォーマット,および出力例を次の表に示します。

表3‒64 FTPコマンドのメッセージフォーマットと出力例

条件

メッセージフォーマット

出力例

単一応答コード

<FTP応答コード> <メッセージ>

226 File receive OK.

<FTP応答コード>-<メッセージ1>

[<メッセージ2>]

<FTP応答コード> <メッセージn>

214-The following commands are recognized.

ACCT ALLO APPE CDUP ... MDTM MKD

NLST NOOP OPTS PASS ... RMD RNFR

214 Help OK.

複数応答コード

<FTP応答コード1> <メッセージ1>

<FTP応答コード2> <メッセージ2>

150 File status okay; about to open data connection.

226 Transfer complete.

応答コードおよびメッセージの文字列の内容については,使用しているFTPサーバのドキュメントを参照してください。

注※

nは自然数です。

(c) GETINFOオペレーションを使用する場合の要求電文および応答電文

LISTコマンドまたはNLISTコマンドの結果を応答電文,作業フォルダ,共通フォルダに出力する場合に要求電文に指定が必要なタグ,および応答電文に出現するタグを次の表に示します。

各タグの設定内容や表に記載がないタグについては,「(a) FTPアダプタの要求電文フォーマット」および「(b) FTPアダプタの応答電文フォーマット」を参照してください。

表3‒65 出力先と要求電文の関係

出力先

要求電文で指定するタグ

<request-id>

<local-folder>

<local-file-name>

応答電文

作業フォルダ

共通フォルダ

(凡例)

○:指定します。

−:指定しません。

表3‒66 出力先と応答電文の関係

出力先

応答電文で出現するタグ

<local-folder>

<local-file-name>

<list-info>

<list>

応答電文

作業フォルダ

共通フォルダ

(凡例)

○:出現します。

−:出現しません。

(2) FTPアダプタの定義ファイルの作成

作成する定義ファイルの種類を次に示します。

各定義ファイルの作成手順を次に示します。定義ファイルは,FTPアダプタが提供しているテンプレートファイルを利用して作成できます。

(a) FTPアダプタコマンド定義ファイルの作成手順

  1. テンプレートファイル(<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\FTP\config\templates\adpftpcommand.properties)をコピーして,次のディレクトリに格納します。

    <サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\FTP\config

  2. 定義内容を編集して保存します。

    FTPアダプタコマンド定義ファイルで編集できる定義内容については,マニュアル「サービスプラットフォーム リファレンス」の「6.8.2 FTPアダプタコマンド定義ファイル」を参照してください。

(b) FTPアダプタアカウント定義ファイルの作成手順

  1. csaftpuseraddコマンドを実行してFTPアダプタアカウント定義ファイルを作成します。

    作成したFTPアダプタアカウント定義ファイルのパスは,FTPアダプタ実行環境プロパティファイルのftpadp.account-inf-filepathキーで指定する必要があります。csaftpuseraddコマンドの詳細については,マニュアル「サービスプラットフォーム リファレンス」の「csaftpuseradd(FTPアダプタのユーザの登録・更新)」を参照してください。

(c) FTPコマンド許可リスト定義ファイル(FTPアダプタ用)の作成手順

  1. テンプレートファイル(<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\FTP\config\templates\cscthrough.properties)をコピーして,任意のディレクトリに格納します。

  2. コピーしたテンプレートファイルのファイル名を任意の名称に変更します。

  3. 定義内容を編集して保存します。

    FTPコマンド許可リスト定義ファイル(FTPアダプタ用)で編集できる定義内容については,マニュアル「サービスプラットフォーム リファレンス」の「6.8.6 FTPコマンド許可リスト定義ファイル」を参照してください。

(d) FTPアダプタ実行環境プロパティファイルの作成手順

  1. テンプレートファイル(<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\FTP\config\templates\adpftp.properties)をコピーして,次のディレクトリに格納します。

    全HCSCサーバ共通の定義の場合

    <サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\FTP\config

    特定のHCSCサーバ用の定義の場合

    サブディレクトリ<HCSCサーバ名>を作成して格納してください。Windowsの場合,HCSCサーバ名の大文字・小文字は区別されます。

    <サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\FTP\config\<HCSCサーバ名>

  2. コピーしたテンプレートファイルのファイル名を「<サービスID>.properties」に変更します。

  3. 定義内容を編集して保存します。

    FTPアダプタ実行環境プロパティファイルで編集できる定義内容については,マニュアル「サービスプラットフォーム リファレンス」の「6.8.3 FTPアダプタ実行環境プロパティファイル」を参照してください。

注※

サービスIDは,FTPアダプタを新規に追加するときにサービスアダプタ定義画面で指定する任意の文字列です。

(e) FTPアダプタ実行環境共通プロパティファイルの作成手順

  1. テンプレートファイル(<サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\FTP\config\templates\adpftp.properties)をコピーして,次のディレクトリに格納します。

    全HCSCサーバ共通の定義の場合

    commonディレクトリはユーザが作成してください。

    <サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\FTP\config\common

    特定のHCSCサーバ用の定義の場合

    サブディレクトリ<HCSCサーバ名>と「common」はユーザが作成してください。Windowsの場合,HCSCサーバ名の大文字・小文字は区別されます。

    <サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\FTP\config\<HCSCサーバ名>\common

    FTPアダプタ実行環境共通プロパティファイルのファイル名は変更しないでください。

  2. 定義内容を編集して保存します。

    FTPアダプタ実行環境共通プロパティファイルで編集できる定義内容については,マニュアル「サービスプラットフォーム リファレンス」の「6.8.4 FTPアダプタ実行環境共通プロパティファイル」を参照してください。

(3) データ変換の定義

データ変換定義画面を利用して,変換元の電文フォーマット定義ファイルおよび変換先の電文フォーマット定義ファイルのデータ変換を定義します。

データ変換の定義方法については,マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「7. データ変換の定義」を参照してください。

(4) サービスアダプタ定義画面での操作

FTPアダプタを定義する場合の手順を次に示します。

  1. サービスアダプタ定義画面を表示します。

    サービスアダプタ定義画面の表示方法については,「3.3.1(4) サービスアダプタ定義画面の表示」を参照してください。

  2. 定義情報を設定します。

    サービスアダプタ定義画面(基本)で設定が必要な項目については,「3.3.18(10) FTPアダプタの場合」およびマニュアル「サービスプラットフォーム リファレンス」の「1.2.2 サービスアダプタ定義画面」を参照してください。

  3. [サービスアダプタ定義(詳細)]タブをクリックします。

    サービスアダプタ定義画面(詳細)が表示されます。

  4. 定義情報を設定します。

    サービスアダプタ定義画面(詳細)で設定が必要な項目については,「3.3.18(10) FTPアダプタの場合」およびマニュアル「サービスプラットフォーム リファレンス」の「1.2.2 サービスアダプタ定義画面」を参照してください。