3.2.2 JSMX_COMMAND

JSMX_COMMAND組み込み関数は、サービスをロードおよびアンロードする場合や、サービスでサポートされるコマンドを実行する場合に使用されます。JSMX_COMMANDは、JSMX_OPENが正常に完了してからでないと実行できません。

オプションの作業リスト引数を指定した場合、この作業リストに定義されたフィールドがロードされたサービスで利用できるようになります。作業リスト引数の指定がない場合、ロードされたサービスで利用できるフィールドはありません。リスト定義のみを使用して、どのフィールドをJSMサービスに送信するかを決める場合、このフィールド・リストにエントリーは必要ありません。

オプションの作業リスト戻り値を指定した場合、その作業リストがロードされたサービスで利用できるようになります。

構文:

引数

番号

タイプ

必須
省略可

説明

最小

最大

最小
小数桁数

最大
小数桁数

1

A

必須

接続ハンドル

4

4

 

 

2

A

必須

コマンド

1

制限なし

 

 

3

L

省略可

フィールド・リスト

 

 

 

 

 

 

戻り値

番号

タイプ

必須
省略可

説明

最小

最大

最小
小数桁数

最大
小数桁数

1

A

必須

ステータス

1

20

 

 

2

A

必須

メッセージ

1

制限なし

 

 

3

L

省略可

作業リスト

 

 

 

 

 

 

サービスがロードされると、サービスに対するコマンドが実行されます。サービスの使用が終わると、そのサービスはアンロードされます。一度にロードできるサービスは1つだけです。「3.7 コマンド 」を参照してください。

JSMX_COMMANDには、以下が数多く用意されています。

RDMLX予約コマンド

RDMLX予約キーワード

RDMLX予約フィールド名

サービスの詳細については、「Java Service Managerサービス」を参照してください。

技術ノート1

サービスでポストされたHTTP内容を受信するには、SERVICE_LOADコマンドでSERVICE_CONTENT(*HTTP)キーワードが必要です。

これがSERVICE_CONTENT(*HTTP)キーワードを使用する最初の接続の場合、ポストされたHTTP内容が読み込まれサービスに送信されます。

この接続がHTTP応答の送信を担当します。

これがSERVICE_CONTENT(*HTTP)キーワードを使用する最初の接続ではない場合、この接続はHTTP応答の送信のみを担当します。SERVICE_LOADコマンドはHTTP内容を受信しませんが、HTTPキーワードは受信します。

HTTP応答を担当する接続で接続を終了するJSMX_CLOSEを使用する場合、返されるバイト配列応答はHTTP応答になります。

HTTP応答を一度に送信できるのは1つの接続のみです。

HTTP内容が読み込まれるのは一度だけです。

HTTP応答が書き込まれるのは一度だけです。

HTTPキーワードは必ずSERVICE_LOADコマンドで送信されます。

シナリオA

 

#1 JSMX_OPEN - 接続を開く

#2 JSMX_OPEN - 接続を開く

#3 JSMX_OPEN - 接続を開く

#1 JSMX_COMMAND( "SERVICE_LOAD SERVICE(xxx) SERVICE_CONTENT(*HTTP)" ) - CGIキーワードを送信する、STDINを読み込む、所有権を要求する

#2 JSMX_COMMAND( "SERVICE_LOAD SERVICE(xxx)" ) - CGIキーワードを送信する

#3 JSMX_COMMAND( "SERVICE_LOAD SERVICE(xxx) SERVICE_CONTENT(*HTTP)" ) - CGIキーワードを送信する、所有権を転送する

#1 JSMX_CLOSE - 接続を閉じる

#2 JSMX_CLOSE - 接続を閉じる

#3 JSMX_CLOSE - 接続を閉じてSTDOUTを書き出す

 

シナリオB

 

#1 JSMX_OPEN - 接続を開く

#1 JSMX_COMMAND( "SERVICE_LOAD SERVICE(xxx) SERVICE_CONTENT(*HTTP)" ) - CGIキーワードを送信する、STDINを読み込む、所有権を要求する

#1 JSMX_CLOSE - 接続を閉じてSTDOUTを書き出す

#2 JSMX_OPEN - 接続を開く

#2 JSMX_COMMAND( "SERVICE_LOAD SERVICE(xxx)" ) - CGIキーワードを送信する

#2 JSMX_CLOSE - 接続を閉じる

#3 JSMX_OPEN - 接続を開く

#3 JSMX_COMMAND( "SERVICE_LOAD SERVICE(xxx) SERVICE_CONTENT(*HTTP)" ) - CGIキーワードを送信する、所有権を転送する

#3 JSMX_CLOSE - 接続を閉じる

 

技術ノート2

以下のデータ・タイプがサポートされています。他のデータ・タイプを使用する場合、そのフィールドは無視されJSMサービスに渡されません。

 

TYPE (*CHAR)

TYPE (*NCHAR)

TYPE (*STRING)

TYPE (*INT)

TYPE (*DEC)

TYPE (*FLOAT)

TYPE (*PACKED)

TYPE (*SIGNED)

TYPE (*BOOLEAN)

TYPE (*DATE)

TYPE (*TIME)

TYPE (*DATETIME)

TYPE (*BLOB)

TYPE (*CLOB)