MSHSendMessage(ビジネスメッセージ送信)
形式1(送信情報ファイルを指定しない場合)
MSHSendMessage -md <メッセージ交換定義識別子>
-s <サービス名>
[-st <サービス名表記種別>]
-a <アクション名>
[-ci <会話識別子>]
[-mi <メッセージ識別子>]
[-rm <参照メッセージ識別子>]
[<ペイロードファイルの絶対パス>]...
[<ペイロードの格納先ディレクトリの絶対パス>]...
形式2(送信情報ファイルを指定する場合)
MSHSendMessage -cf <送信情報ファイルの絶対パス>
[-md <メッセージ交換定義識別子>]
[-s <サービス名>]
[-st <サービス名表記種別>]
[-a <アクション名>]
[-ci <会話識別子>]
[-mi <メッセージ識別子>]
[-rm <参照メッセージ識別子>]
[<ペイロードファイルの絶対パス>]...
[<ペイロードファイルの格納先ディレクトリの絶対パス>]...
機能
ビジネスメッセージを送信します。ビジネスメッセージ送信コマンドを実行するために,次の方法があります。
- 送信情報ファイルを指定しない方法
ビジネスメッセージ送信に必要な情報を,直接引数として指定する方法です。
- 送信情報ファイルを指定する方法
ビジネスメッセージ送信に必要な情報を送信情報ファイルに記述し,送信情報ファイルの絶対パスを指定する方法です。
このコマンドを実行して出力されるメッセージは,共通トレースに出力されます。
オプション
- -cf <送信情報ファイルの絶対パス>
- 送信情報ファイルの絶対パスを指定します。ビジネスメッセージ送信コマンドは,送信情報ファイルに記述された内容で送信します。ただし,コマンドオプションの引数を指定した場合は,オプションの引数で指定した値が優先されます。
- 指定した送信情報ファイルが存在しない場合,または送信情報ファイルの内容に不正がある場合は,エラーとなります。
- 送信情報ファイルを使用する場合は,必ず指定してください。
- -md <メッセージ交換定義識別子>
- メッセージ交換定義識別子を127バイト以内の文字列で指定します。バイト数が不正の場合は,送信時にエラーとなります。送信情報ファイルを指定しない場合は,必ず指定してください。
- -s <サービス名>
- CPAファイルに記載した送信対象のサービス名を255バイト以内の文字列で指定します。バイト数が不正の場合は,送信時にエラーとなります。送信情報ファイルを指定しない場合は,必ず指定してください。
- -st <サービス名表記種別>
- CPAに記載した送信対象のサービス名表記種別を255バイト以内の文字列で指定します。バイト数が不正の場合は,送信時にエラーとなります。
- -a <アクション名>
- CPAファイルに記載した送信対象のアクション名を255バイト以内の文字列で指定します。バイト数が不正の場合は,送信時にエラーとなります。送信情報ファイルを指定しない場合は,必ず指定してください。
- -ci <会話識別子>
- 業務アプリケーション側でebXMLの会話管理をする場合,その会話を一意に識別する識別子を255バイト以内の文字列で指定します。指定している場合でバイト数が不正の場合は,送信時にエラーとなります。会話管理を行わない場合は指定不要です。指定がない場合は,uCosminexus Message Service for ebXMLが自動的に採番します。
- -mi <メッセージ識別子>
- 業務アプリケーション側でビジネスメッセージに対して識別子を割り当てたい場合に255バイト以内の文字列を指定します。バイト数が不正の場合は,送信時にエラーとなります。指定がない場合は,uCosminexus Message Service for ebXMLが自動的に採番します。
- -rm <参照メッセージ識別子>
- 送信メッセージを,ある送信メッセージと関連づけたい場合など,業務アプリケーション側の運用で必要な場合だけ指定します。255バイト以内の文字列で指定します。指定している場合でバイト数が不正の場合は,送信時にエラーとなります。指定がない場合,参照メッセージ識別子は付与されません。
- <ペイロードファイルの絶対パス>...<ペイロードファイルの格納先ディレクトリの絶対パス>...
- ビジネスメッセージに添付するペイロードのファイル名,またはペイロードの格納先ディレクトリ名を指定します。コマンドの引数の最後に,送信するペイロードファイルの絶対パス,ペイロードファイルの格納先ディレクトリの絶対パス,またはその両方を指定します。ディレクトリ指定の場合は,ディレクトリ下のすべてのペイロードファイルが送信対象となります。
- ファイル名およびディレクトリ名を一つも指定しない場合,ペイロードの指定がないものとみなし,ヘッダ情報だけのビジネスメッセージを送信します。
- ペイロードのファイル名または格納先ディレクトリを直接指定する場合,「9.1.2 コマンドの記述形式に関する注意事項」で示す規則のほかに,次の規則にも従って記述します。
- 送信するペイロードファイル名は,63バイト以内で指定します。
- 指定したファイルパスまたはディレクトリパスがない場合は,エラーとなります。複数指定した場合,一つでもファイルまたはディレクトリがないとエラーとなります。
- 送信するファイルの合計バイト数が0バイトの場合は,エラーとなります。複数のファイルを指定した場合で0バイトのファイルがあるときは,0バイトのファイル以外は正常に送信されます。
- 指定した格納先ディレクトリにファイルがない場合,エラーで終了します。ディレクトリ内の下位ディレクトリにあるファイルは無視します。
ただし,ほかのオプション指定をしている場合,対象の送信するペイロードだけを送信します。
- 指定するファイルの数および合計ファイルサイズは,MSH実行環境定義ファイル(PERSISTコンテナのPAYLOAD_MAX_NUMキーおよびPAYLOAD_MAX_SIZEキー)で上限値を設定します。上限を超える数および合計サイズのファイルを指定した場合は,エラーとなります。
戻り値
- Windowsの場合
0:正常終了しました。コマンドとしての処理がすべて正常終了しました。
1:警告付きで正常終了しました。直接指定したペイロードファイルに,0バイトのファイルまたは空のディレクトリが含まれています。
-1:引数エラーです。コマンド実行時の引数に過不足があるか,または引数の指定方法に誤りがあります。
-2:実行エラーです。ビジネスメッセージの送信処理でエラーが発生しました。
-3:システム定義不正です。システム定義に不正があり,コマンド実行に必要な情報が取得できません。
- UNIXの場合
0:正常終了しました。コマンドとしての処理がすべて正常終了しました。
1:警告付きで正常終了しました。直接指定したペイロードファイルに,0バイトのファイルまたは空のディレクトリが含まれています。
2:引数エラーです。コマンド実行時の引数に過不足があるか,または引数の指定方法に誤りがあります。
3:実行エラーです。ビジネスメッセージの送信処理でエラーが発生しました。
4:システム定義不正です。システム定義に不正があり,コマンド実行に必要な情報が取得できません。
注意事項
指定するビジネスメッセージ送信に必要な情報に,アスタリスク(*)や山括弧(<,>)などOSのコマンドラインでワイルドカードやリダイレクトなどに指定する記号を含めるときは,送信情報ファイルを指定することを推奨します。
実行例
- Windowsの場合
- 送信情報ファイル(sendinfo.xml)を指定して,C:¥tmp¥SENDディレクトリ下のすべてのファイルをペイロードとして送信する場合の実行例を,次に示します。
MSHSendMessage -cf C:¥tmp¥sendinfo.xml C:¥tmp¥SEND
- メッセージ交換定義識別子(cpa001-partyA),サービス名(Service1),アクション名(Action1)の指定でC:¥tmpディレクトリ下のFileAとFileBを送信する場合の実行例を,次に示します。
MSHSendMessage -md cpa001-partyA -s Service1 -a Action1 C:¥tmp¥FileA C:¥tmp¥FileB
- UNIXの場合
- 送信情報ファイル(sendinfo.xml)を指定して,/tmp/SENDディレクトリ下のすべてのファイルをペイロードとして送信する場合の実行例を,次に示します。
MSHSendMessage -cf /tmp/sendinfo.xml /tmp/SEND
- メッセージ交換定義識別子(cpa001-partyA),サービス名(Service1),アクション名(Action1)の指定で/tmpディレクトリ下のFileAとFileBを送信する場合の実行例を,次に示します。
MSHSendMessage -md cpa001-partyA -s Service1 -a Action1 /tmp/FileA /tmp/FileB