JSMReponseオブジェクトは、JSMクライアント・プログラムに応答を返す場合に使用されます。
JSMReponse オブジェクトには、ステータス、メッセージ、バイト配列、リスト、フィールド・リスト・オブジェクトが含まれます。
Unicode ステータス文字列値は、クライアント・プログラムのネイティブ・エンコーディングにエンコードされます。
ステータス値は、LANSA 組み込み関数ファンクション API の #JSMSTS フィールドにコピーされます。
Unicodeメッセージ文字列値は、クライアント・プログラムのネイティブ・エンコーディングにエンコードされます。
メッセージ値は、LANSA組み込み関数ファンクションAPIの#JSMMSGフィールドにコピーされます。
シングルバイト環境の場合、Unicode文字は、各文字が1バイトにエンコードされます。
ダブルバイト環境の場合、DBCS文字がなければ、Unicode文字は各文字が1バイトにエンコードされます。
DBCS文字がある場合は、シフトアウト文字とシフトイン文字は、1文字につき1バイトから1文字につき2バイトに変更されます。
ステータスとメッセージのバイト・サイズが制限を超えた場合、応答送信時に例外が投げられます。
バイト配列変数の内容は、JSMクライアント・プログラム内で割り当てられたメモリーにコピーされます。データの変換は行われません。
新しい各JSMコマンドの呼び出しでは、以前のコマンドのバイト配列応答を保管するために割り当てられたメモリーが解放されます。
バイト配列メモリーには、JSM_CLOSEの実行時にHTTPサーバーに渡されるHTTP応答も含まれます。
JSM_CLOSE呼び出しの場合も、バイト配列応答で割り当てられたメモリーが解放されます。
JSMクライアント・プログラムを終了する前にJSM_CLOSEを必ず呼び出すことをお勧めします。
内部のデフォルト設定は以下のようになります。
Status | OK |
Message | 長さゼロの文字列オブジェクト |
ByteArray | 長さゼロのバイト配列オブジェクト |
List | null オブジェクト |
Fieldlist | null オブジェクト |
使いやすくするために、OKおよびERRORという2つの静的な最終文字列変数を使用できます。
new JSMResponse ( "Ok message" ) ; new JSMResponse ( JSMResponse.OK, "Ok message" ) ; new JSMResponse ( JSMResponse.ERROR, "Error message" ) ; new JSMResponse ( exception ) ; |