FileQueueServiceサービスを利用することで、MQSeriesメッセージ待ち行列やIBM i データ待ち行列からファイルを受信したり、これらの待ち行列にファイルを送信したりできます。
以下のサービス・プロパティ・エントリーを使用すると、待ち行列からのデータの受信と待ち行列へのデータの送信時に使用されるデータ・エンコーディングを制御できます。データをIBM iデータ待ち行列に入れると、データにEBCDICスペースが埋め込まれます。dq.put.encoding および dq.get.encodingの値がEBCDICファミリーに属することが推奨されています。例えばCp037、Cp273、Cp500は有効な値です。デフォルトでは、クライアント・プログラムやメッセージのCCSIDを使用してエンコーディング値を決定します。
dq.get.encoding=Cp037
dq.put.encoding=Cp037
mq.get.encoding=Cp037
mq.put.encoding=Cp037
以下のサービス・プロパティ・エントリーを使用すると、データ・エンコーディングに合うようにXML宣言を修正できなくなります。これらのプロパティのデフォルト値は*yesです。
dq.get.modify.declaration=*no
dq.put.modify.declaration=*no
mq.get.modify.declaration=*no
mq.put.modify.declaration=*no
以下のサービス・プロパティ・エントリーを使用すると、XML宣言修正プロセスで使用されるXML宣言IANAエンコーディングを明示的に指定できます。
これらのサービス・プロパティがない場合、IANAエンコーディングはエンコーディングにより決定されます。
dq.get.encoding.declaration=iso-8859-1
dq.put.encoding.declaration=iso-8859-1
mq.get.encoding.declaration=iso-8859-1
mq.put.encoding.declaration=iso-8859-1
IBM JavaのUnicodeからEBCDICバイトへのエンコーダーでは、EBCDIC LF (ライン・フィード0x25)文字ではなく、EBCDIC NL (改行0x15)文字を使用します。Unicode XMLの結果が選択したエンコーディングに変換され、このエンコーディングがEBCDICの場合、改行文字がライン・フィード文字に置き換えられます。これらのプロパティのデフォルト値は*noです。
dq.put.ebcdic.nl2lf=*yes
mq.put.ebcdic.nl2lf=*yes
FileQueueServiceは以下のコマンドをサポートしています。
5.6.1 SERVICE_LOAD
5.6.2 SERVICE_GET
5.6.3 READ
5.6.4 WRITE
5.6.5 SERVICE_UNLOAD
MQSeries 組み込み関数の詳細は、「5.2.11 MQSeries組み込み関数」を参照してください。