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

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

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

構文:

引数

番号

タイプ

必須 
任意

説明

最小長

最大長

最小 
小数桁数

最大 
小数桁数

1

A

必須

接続ハンドル

4

4



2

U

必須

コマンド

1

無制限



3

L

任意

送信/受信するフィールド定義のリスト
このリストを渡さない場合、フィールドは使用できません。





戻り値

番号

タイプ

必須
任意

説明

最小長

最大長

最小
小数桁数

最大
小数桁数

1

U

必須

状態

1

20



2

U

必須

メッセージ

1

無制限



3

L

任意

作業リスト





サービスがロードされると、サービスに対するコマンドが実行されます。サービスの使用が終わると、そのサービスはアンロードされます。一度にロードできるサービスは1つだけです。

詳細については、「3.5 コマンド」を参照してください。

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

サービスの詳細については、「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)

  • No labels