Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 テスタ・UAPトレース使用の手引


11.2.1 サービス要求データファイル

〈この項の構成〉

(1) RPC要求データファイル

RPCインタフェースのクライアントUAPシミュレート機能使用時,サービスに対応したサービス関数に渡すデータを格納します。一つのファイルには,一つのデータを作成します。

(a) ファイルの構造

[図データ]

(b) ファイルの内容

項目

位置

長さ(バイト)

内容

データ長

0

4

サービス関数に渡すデータの長さを指定します

(1〜DCRPC_MAX_MESSAGE_SIZEの指定値)。

応答領域長

4

4

サービス関数に渡す応答領域長を指定します

(1〜DCRPC_MAX_MESSAGE_SIZEの指定値)。

データ

8

n

サービス関数に渡すデータを指定します。

(c) 注意事項

  • サービス関数の引数との関係を次に示します。

    [図データ]

    1. データ

    2. データ長

    3. 応答領域長

  • RPC要求データファイルは,オンラインテスタのファイルも使用できます。

  • ファイル名には'+'を使用できません。また,ファイル名として,'ps'または'end'は使用できません。

  • データ長に満たないデータを指定した場合は,エラーとなります。また,データ長を超えた部分のデータは無視されます。

(2) XATMI要求データファイル

XATMIインタフェースのクライアントUAPシミュレート機能使用時,サービスに対応したサービス関数に渡すデータを格納します。一つのファイルには,一つのデータを作成します。

(a) ファイルの構造

[図データ]

(b) ファイルの内容

項目

位置

長さ(バイト)

内容

呼び出し種別

0

8

サービスを呼び出す際に,呼び出し元の関数の種別を指定します。

call:tpcall関数からの呼び出し

acall:tpacall関数からの呼び出し

connect:tpconnect関数からの呼び出し

タイプ

8

8

バッファタイプとして,次の文字列のどれかを指定します。

  • X_OCTET

  • X_COMMON

  • X_C_TYPE

サブタイプ

16

16

サブタイプを16文字以下の文字列で指定します。ただし,タイプに'X_OCTET'を指定した場合は,サブタイプはヌル文字とします。

フラグ

32

4

サービス関数に渡す次のフラグを,16進数で指定します。

0x00000000L:0

0x00000004L:TPNOREPLY

0x00000008L:TPNOTRAN

0x00000100L:TPNOCHANGE

0x00000800L:TPSENDONLY

0x00001000L:TPRECVONLY

データ長

36

4

サービス関数に渡すデータの長さを指定します(0〜524288)。データがない場合は0を指定します。

0を指定すると,タイプ,サブタイプの指定は無視されます。

データ

40

n

サービス関数に渡すデータを指定します。

(c) 注意事項

  • サービス関数の引数との関係を次に示します。

    void tpservice(svcinf)
         TPSVCINFO *svcinf;
     
         struct TPSVCINFO {
                   char name[32];    ……1.
                   char *data;       ……2.
                   long len;         ……3.
                   long flags;       ……4.
                   int cd;           ……5.
               }
    1. サービス名

    2. タイプ,サブタイプにマッピングされたデータが格納されているアドレス

    3. dataで示すデータの長さ

    4. フラグ(指定したフラグをビット列で格納)

    5. 会話記述子(0を格納)

  • XATMI要求データファイルは,オンラインテスタのファイルも使用できます。

  • ファイル名には'+'を使用できません。また,ファイル名として,'ps'または'end'は使用できません。

  • データ長に満たないデータを指定した場合は,エラーとなります。また,データ長を超えた部分のデータは無視されます。

  • 応答データ領域は,応答データ内のバッファタイプ,サブタイプに従って再度割り当てられます。

  • タイプ,サブタイプを指定した場合のデータ長とデータは,スタブで定義したデータ構造(構造体)と同じでなければなりません。また,スタブで定義したデータ構造は,バウンダリ調整が行われます(合計長は4の整数倍となります)。そのため,ファイルで指定するデータはその調整部分を考慮して作成する必要があります。

(3) TxRPC要求データファイル

TxRPCインタフェースのクライアントUAPシミュレート機能使用時,サービスに対応したサービス関数に渡すデータを格納します。一つのファイルには,一つのデータを作成します。

(a) ファイルの構造

[図データ]

(b) ファイルの内容

項目

位置

長さ(バイト)

内容

メジャーバージョン

0

2

txidlコマンドのインタフェース定義で指定した,メジャーバージョンの値を指定します。

省略する場合は,0を指定します。

マイナーバージョン

2

2

txidlコマンドのインタフェース定義で指定したマイナーバージョンの値を指定します。

省略する場合は,0を指定します。

データ長

4

4

データ部に指定するデータの長さを指定します

(0〜DCRPC_MAX_MESSAGE_SIZEの指定値-16)。

データ

8

n

サービス関数に渡す引数データを指定します。ただし,引数にアドレスを設定する場合は,アドレスの指す領域の内容そのものをデータに設定してください。

アドレスがヌルの場合は,文字列"#NULL##"をデータに設定してください。

(c) 注意事項

  • TxRPC要求データファイルのデータ内容と,サービス関数の引数と引数が受け取るデータの関係を次に示します。

    [図データ]

    [図データ]

  • ファイル名には'+'を使用できません。また,ファイル名として,'ps'または'end'は使用できません。

  • データ長に満たないデータを指定した場合は,エラーとなります。また,データ長を超えた部分のデータは無視されます。

  • データ内容に誤りがある場合のUAPの動作は保証しません。