9.3.1 共通仕様
データ送受信コマンドの共通仕様について説明します。説明する項目を次に示します。
-
コマンドの形式と文法規則
-
共通オプション
-
終了コード
-
ログ出力
-
ファイルパスについて
-
設定ファイル
-
データ送受信失敗時の動作について
-
同一PC上での同時実行について
- 〈この項の構成〉
(1) コマンドの形式と文法規則
データ送受信コマンドの形式と文法規則,および値の指定方法について説明します。形式を次に示します。なお,Linuxの場合は,コマンド名の拡張子「bat」を「sh」と読み替えてください。
(i)を「オプション」,(ii)を「引数」と呼びます。
データ送受信コマンドは,次の文法規則に従って指定してください。
-
オプションを複数指定する場合,指定順序は任意です。
-
同一オプションを複数指定することはできません。
-
存在しないオプションを指定した場合,エラーとなります。
-
値に「△(空白文字)」を含める場合は,値を「"(ダブルクォート)」で囲んでください。
-
&(アンパサンド),^(サーカムフレックスアクセント)などのコマンドライン特殊文字を指定する場合は,文字の前にエスケープ文字(^)を記述してください。
-
値に「"(ダブルクォート)」は利用できません。
-
コマンド長は,8,191文字を超えないように指定してください。
-
1つのオプションに対し,値を複数指定する場合は,値間を「△(スペース)」で区切って指定してください。
-
オプションに複数の値を指定した場合,値を1つしか持たないオプションでは最初に指定された値を使用します。値を複数持つオプションではすべての値が使用されます。
(2) 共通オプション
データ送受信コマンドの共通オプションを次に示します。
項番 |
オプション |
意味 |
---|---|---|
1 |
-property |
送受信するユーザID/パスワードなどの情報を記述したコマンドプロパティファイル(property.xml)のパスを指定します。コマンドプロパティファイルの詳細は「9.3.1(6)(a) コマンドプロパティファイル(property.xml)」を参照してください。 |
2 |
-concurrenttimeout |
すでにデータ送受信コマンド実行がされている場合,他実行の終了を待つ際のタイムアウト時間(秒)です。0から86400(24時間)まで指定できます。0を指定した場合は,他のデータ送受信コマンドの実行終了を待たずに終了します。指定を省略した場合は,0が使用されます。 |
(3) 終了コード
データ送受信コマンドの実行によって出力される終了コードを次に示します。
Windowsの場合,終了コードの値は,データ送受信コマンドの実行直後であれば,環境変数「ERRORLEVEL」で参照できます。例えば,データ送受信コマンドの実行直後にコマンドラインインターフェースで「echo△%ERRORLEVEL%」を実行すると,終了コードを標準出力へ出力できます。
終了コード |
説明 |
---|---|
0 |
データ送受信コマンドの実行が正常終了したことを示します。 |
2 |
一時停止終了 |
3 |
受付拒否終了 |
4 |
データ送受信コマンドの実行が警告終了したことを示します。処理の一部で正常ケースではない事象が発生しましたが,他の処理は継続したことを示します。 |
8 |
すでに別のデータ送受信コマンドが起動済みのため,データ送受信コマンドの実行が終了したことを示します。 |
12 |
中止終了 |
16 |
データ送受信コマンドの実行が異常終了したことを示します。異常発生以降の処理は実行されません。エラーの詳細はログファイルに出力されます。 |
32 |
Java VMが異常終了したことを示します。 |
64 |
環境変数に指定するパスに誤りがあるため,Javaの実行に失敗したことを示します。 |
(4) ログ出力
データ送受信コマンドで出力されるアプリケーションログについて説明します。
(a) ログレベル
アプリケーションログのログレベルの一覧を次の表に示します。
項番 |
ログレベル |
ID |
重要度 |
内容 |
監視対象 |
---|---|---|---|---|---|
1 |
Error |
E |
代表ユーザ対応レベル,またはシステム管理者対応レベル |
ネットワーク環境などの実行環境の問題や,データ送受信コマンドの入力パラメータの問題により,データ送受信コマンドの処理が続行できないことを示します。 代表ユーザによる対処が必要な障害です。システム管理者による対処が必要になることもあります。 終了コード16,8のケースのログです。 |
○ |
2 |
Warn |
W |
一時的な障害 |
データ送受信コマンドの処理で正常ケースではない事象が発生したことを示します。 データ送受信コマンドの処理は続行されます。終了コード4のケースのログです。 |
△ |
3 |
Info |
I |
通常イベント |
正常処理の進行を通知するログです。 |
× |
- (凡例)
-
○:監視対象のログレベル
△:システムの性質によって監視する/しないを検討するレベル
×:監視対象外のログレベル
(b) ログファイル
ログファイルの仕様を次の表に示します。
項番 |
項目 |
形式または値 |
---|---|---|
1 |
ファイル形式 |
テキスト形式 |
2 |
文字コード |
UTF-8 |
3 |
改行コード |
CR+LF |
ログファイルは次のパスに出力されます。保管日数は30日です。
<インストール先フォルダ>\log\dwc-yyyyMMddhhmmss-GUID.log
- (凡例)
-
-
<インストール先フォルダ>:データ送受信コマンドをインストールしたフォルダ
-
yyyyMMddhhmmss:データ送受信コマンドの実行日時(yyyy:西暦4桁,MM:月2桁,dd:日付2桁,hh:時間2桁(24時間表示),mm:分,ss:秒)
-
GUID:GUID形式のランダム文字列
- 重要
-
データ送受信コマンドを実行するごとに,既定の出力先に新しいログファイルが出力されます。ログ出力先が存在しない場合は,ログ出力先フォルダを自動的に作成し,ログを出力します。なお,ログファイルは,保管日数の経過後にデータ送受信コマンドを起動すると自動的に削除されます。
-
(c) 出力形式
アプリケーションログの出力形式を次に示します。
日付 区切り文字 時刻△バージョン番号△ログレベル△メッセージID△メッセージテキスト
- (凡例)
-
△:1バイト(半角)の空白文字を示します。
アプリケーションログの出力例を次に示します。
2011/04/19T20:38:21.500 02-07 INFO DWCO1001_I Command start. 2011/04/19T20:38:28.250 02-07 INFO DWCO1041_I ファイルの送信を完了しました。 2011/04/19T20:38:28.250 02-07 INFO DWCO1002_I Command finished.
アプリケーションログの出力内容を次の表に示します。具体的なメッセージについては,「9.4.2 データ送受信コマンドのメッセージ」を参照してください。
項番 |
項目 |
桁数 |
出力内容 |
---|---|---|---|
1 |
日付 |
10 |
yyyy/MM/dd
|
2 |
区切り文字 |
1 |
T |
3 |
時刻 |
12 |
HH:mm:ss.SSS
なお,出力時刻はクライアント側の時刻となります。 |
4 |
バージョン番号 |
8 |
02-07 左詰めとなり,右側は△で埋められます。 |
5 |
ログレベル |
5 |
ログレベルです。左詰めとなります。 詳細は「9.3.1 (4) (a) ログレベル」を参照してください。 |
6 |
メッセージID |
10 |
メッセージを特定するID XXXXYYYY_Z
|
7 |
メッセージテキスト |
可変長 |
メッセージの内容 Javaのスタックトレース情報を含む場合,改行が含まれることがあります。 |
(5) ファイルパスについて
データ送受信コマンドで使用するファイルパスは,絶対パスで指定してください。
パス表記はUNC形式とローカルパス形式の両方の形式で指定できますが,ネットワーク上にあるファイルを送信する場合,またはネットワークフォルダでファイルを受信する場合,クライアントとネットワークフォルダ間の通信速度がボトルネックとなり,通信速度が低速になることがあります。このような場合は,JP1/DH - Serverの特長であるファイル高速通信が生かせないため,データ送受信コマンドに指定するパスは,ローカルファイルパスをお勧めします。
(6) 設定ファイル
設定ファイルについての説明を次の表に示します。
項番 |
設定ファイル |
説明 |
---|---|---|
1 |
コマンドプロパティファイル |
利用者のユーザID/パスワードなどの情報を設定します。 |
2 |
受信済み配送リストファイル |
受信済みの配送情報が記載されます。 |
(a) コマンドプロパティファイル(property.xml)
利用者のユーザID/パスワードなどの情報を記述したXMLファイルです。データ送受信コマンドの実行時引数として指定します。パスワードはそのままの文字列で記述しますので,アクセス権を設定するなど適切なセキュリティを設定してください。
コマンドプロパティファイルの仕様を次の表に示します。
項番 |
項目 |
形式または値 |
---|---|---|
1 |
ファイル形式 |
XML形式 |
2 |
文字コード |
UTF-8 |
3 |
改行コード |
CR+LF |
コマンドプロパティファイルは次の形式で記述します。
<?xml version="1.0" encoding="utf-8" ?> <property> <serverUrl>値</serverUrl> <userId>値</userId> <password>値</password> <authenticationMethod>値</authenticationMethod> <certificatePath>値</certificatePath> <certificatePassword>値</certificatePassword> <useProxy>値</useProxy> <proxyHost>値</proxyHost> <proxyPort>値</proxyPort> <proxyId>値</proxyId> <proxyPassword>値</proxyPassword> <errorNotice>値</errorNotice> <errorMailSubject><![CDATA[値]]></errorMailSubject> <errorMailMessage><![CDATA[値]]></errorMailMessage> <notificationToCompanion>値</notificationToCompanion> </property>
それぞれの設定項目について,次の表に示します。
項番 |
設定項目 |
要素名 |
説明 |
初期設定値 |
---|---|---|---|---|
1 |
接続先サーバのURL |
serverUrl |
接続先サーバのURLを指定します。 (例)https://jp1dh-hitachi.co.jp/ |
なし |
2 |
ユーザID |
userId |
接続先サーバへのログインユーザIDを指定します。 認証方式が「電子証明書認証」の場合は指定を省略できます。「標準パスワード認証」の場合は必ず指定する必要があります。 (例)user@company |
なし |
3 |
ユーザパスワード |
password |
接続先サーバへのログインユーザパスワードを指定します。 認証システムが「LDAP認証システム」の場合は,接続先のディレクトリ・サーバに登録されているパスワードを指定します。 認証方式が「電子証明書認証」の場合は指定を省略できます。「標準パスワード認証」の場合は必ず指定する必要があります。 パスワード文字列※1を平文で記述するか,パスワード文字列のダイジェスト※2を16進表記で記述してください。認証システムに「LDAP認証システム」を使用している場合,ダイジェスト形式は指定できません。 平文での記述例:password ダイジェストで指定する場合は「text:HEX:」のあとに,40文字のダイジェスト文字列を記入します。ダイジェスト文字列部分には,大文字・小文字の区別はありません。 ダイジェストは,エクスポート時にパスワード欄に表示されているものを記述できます。 ダイジェストでの記述例 text:HEX:5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8 なお,平文のパスワード文字列として「text:HEX:」で始まる文字列は指定できません。 (例)password |
なし |
4 |
認証方式 |
authenticationMethod |
認証方式を指定します。省略した場合は標準パスワード認証で動作します。
|
PASSWORD |
5 |
証明書ファイルのパス |
certificatePath |
証明書ファイルのパスを絶対パス形式で指定します。 認証方式に「標準パスワード認証」を使用する場合は,指定を省略できます。「電子証明書認証」を使用する場合は,必ず指定する必要があります。 |
なし |
6 |
証明書ファイルのパスワード |
certificatePassword |
証明書ファイルのパスワードを指定します。 認証方式に「標準パスワード認証」を使用する場合は,指定を省略できます。「電子証明書認証」を使用する場合は,必ず指定する必要があります。 |
なし |
7 |
プロキシ使用フラグ |
useProxy |
プロキシサーバを使用するかどうかを指定します。
大文字・小文字は区別しません。指定できる値以外を指定した場合は,エラーとなります。 (例)true |
false |
8 |
プロキシサーバホスト名 |
proxyHost |
プロキシサーバのホスト名またはIPアドレスを指定します。 (例1)Proxyserver (例2)192.168.0.1 |
なし |
9 |
プロキシサーバポート番号 |
proxyPort |
プロキシサーバのポート番号を指定します。0〜65535の範囲で指定できます。 (例)3128 |
なし |
10 |
プロキシ認証ID |
proxyId |
プロキシサーバの認証IDを指定します。 (例)user |
なし |
11 |
プロキシ認証パスワード |
proxyPassword |
プロキシサーバの認証パスワードを指定します。 (例)password |
なし |
12 |
コマンドエラー通知メールの要否 |
errorNotice |
コマンドの実行時にエラーが発生した場合に,エラーが発生したことを通知するメールを送付するかどうかを指定します。 送付する場合:true 送付しない場合:false 大文字・小文字は区別しません。指定できる値以外を指定した場合は,エラーとなります。項目自体が省略された場合はfalseを設定します。 このタグを2つ以上指定した場合は,最後のタグで指定した値が反映されます。 (例)true |
false |
13 |
コマンドエラー通知メールのタイトル |
errorMailSubject |
コマンドエラー通知メールのタイトルを,128文字以内で指定します。 指定した場合は,指定したタイトルに製品名を追加して,メールタイトルとして設定されます。 このタグの指定を省略した場合は,システムのデフォルトのメールタイトルを設定して,エラー通知メールを送信します。 指定できる文字は,一般的にメールのタイトルとして使用できる文字です。 なお,&,<,>を含む場合は,表9-10に示すXMLのエスケープ文字の形式で指定してください。指定できる値以外を指定した場合は,エラーとなります。 このタグを2つ以上指定した場合は,最後のタグで指定した値が反映されます。 |
なし |
14 |
コマンドエラー通知メールの本文※3 |
errorMailMessage |
コマンドエラー通知メールの本文を,512文字以内で指定します。 このタグの指定を省略した場合は,本文なしのエラー通知メールを送信します。 指定できる文字は,一般的にメールの本文として使用できる文字です。 なお,&,<,>を含む場合は,表9-10に示すXMLのエスケープ文字の形式で指定してください。指 定できる値以外を指定した場合は,エラーとなります。 このタグを2つ以上指定した場合は,最後のタグで指定した値が反映されます。 |
なし |
15 |
配送の宛先または送信元へのエラー通知メールの要否 |
notificationToCompanion |
コマンド実行時のエラー通知メールを,送信の場合は配送の宛先ユーザに,受信の場合は配送の送信元ユーザに送付するかどうかを指定します。 なお,このタグの指定はデータ送受信管理コマンドには無効です。
大文字・小文字は区別しません。指定できる値以外を指定した場合は,エラーとなります。項目自体が省略された場合はfalseを設定します。 このタグを2つ以上指定した場合は,最後のタグで指定した値が反映されます。 (例)true |
なし |
- 注※1
-
入力できる文字数,文字の種類は,認証ルールで設定された文字数以内の半角英数字と記号です。
使用できる記号は「!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~」です。
- 注※2
-
ダイジェストはJP1/DH - Serverがパスワードをデータベースに保管する形式で,この値から実際のパスワード文字列を復元することができない形式です。エクスポートCSVのパスワード項目には,ダイジェストの形式でパスワードの情報が出力されます。
- 注※3
-
エラー通知メールの内容を,次に示します。
JP1/DH - Server ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■コマンドエラー通知 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ コマンドでエラーが発生しました。 実行者:コマンドの実行ユーザの名前(コマンド実行ユーザのメールアドレス) コマンド種別:コマンドの種別 ユーザが指定したメール本文 ※このメールへの返信はできません。予めご了承ください。 JP1/DH - Server
ユーザが指定するメール本文以外は,コマンド実行ユーザの設定言語に応じた言語(日本語/英語/中国語)で表示されます。
値は,XMLの入力規則に従って入力してください。特に,XMLでの特殊な記号を使う際は注意してください。次の文字を使用する場合は,エンティティ参照(エスケープ文字)に置き換えるか,CDATAセクションを利用してください。また,コマンドプロパティファイルの文字コードはUTF-8で保存してください。UTF-8以外で保存されていると,読み込みに失敗することがあります。
項番 |
文字 |
エンティティ参照による表記 |
---|---|---|
1 |
< |
< |
2 |
> |
> |
3 |
& |
& |
4 |
" |
" |
5 |
' |
' |
なお,改行などの制御文字は,XMLの規格に従ったエンティティで表示される場合があります。XMLの属性の出現順は,XMLの規約に従い順序性を持ちません。
日時を表すデータはISO8601:2004に基づいたW3C-DTF形式である「YYYY-MM-DDThh:mm:ssTDZ」で表現されます。タイムゾーン(TDZ)は,OSのタイムゾーンに応じたオフセット時間となります。日本の場合は+09:00です。
設定例を次に示します。
<?xml version="1.0" encoding="utf-8" ?> <property> <serverUrl>https://jp1dh-hitachi.co.jp/</serverUrl> <userId>user@company</userId> <password>password</password> <authenticationMethod>CERTIFICATION</authenticationMethod> <certificatePath>C:/hitachi/hitachi01.dat</certificatePath> <certificatePassword>hitachi01</certificatePassword> <useProxy>true</useProxy> <proxyHost>proxyserver</proxyHost> <proxyPort>8080</proxyPort> <proxyId>proxyid</proxyId> <errorNotice>true</errorNotice> <errorMailSubject><![CDATA[エラー通知]]></errorMailSubject> <errorMailMessage><![CDATA[エラーが発生したコマンドを確認してください。]]></errorMailMessage> <notificationToCompanion>true</notificationToCompanion> <proxyPassword>proxypassword</proxyPassword> </property>
(7) データ送受信失敗時の動作について
データ送受信中に何らかのエラーが発生し,データの送受信に失敗した場合,送受信はその後の処理も含めて中止されます。自動的にリトライは行われません。再度,送信または受信を行ってください。
データ送受信時に-resumestatusオプションを指定していた場合は,RESUMEコマンドで送信または受信を再開できます。詳細については「9.3.2 (3) 一時停止中のファイル転送の再開」を参照してください。
(8) 同一PC上での同時実行について
データ送受信コマンドは同一PC上での複数同時実行はできません。同一PC上で同時実行した場合,オプションで指定したタイムアウト時間だけ待機状態となります。
ただし,同一PC上の場合でも,データ送受信コマンドを実行するOSアカウントを分けたときは,その実行アカウントの数だけ複数同時実行が可能となります。
また,複数のデータ送受信コマンドが同時に待機状態となった場合,実行順序はデータ送受信コマンドを起動した順序と異なる場合があります。例えば,データ送受信コマンドAを実行中にデータ送受信コマンドBとデータ送受信コマンドCが待機状態となった場合,データ送受信コマンドAが終了したあとに実行されるコマンドは,データ送受信コマンドBまたはデータ送受信コマンドCのどちらかになります。
なお,データ送受信管理コマンドは,データ送受信コマンドと異なり,同一PC上で複数同時実行が可能です。また,データ送受信コマンドとデータ送受信管理コマンドは,同一PC上で同時に実行できます。