Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 TP1/Client for .NET Framework 使用の手引


4.3.3 クライアントスタブ使用時のデータ長の計算方法

クライアントスタブを使用する場合は,入出力パラメタやカスタムレコードクラスと,入出力メッセージの間の変換をClient .NETが行います。ただし,送受信するユーザメッセージがRPCメッセージの最大長を超えないようにするためには,入力メッセージ長および応答メッセージ長の値を見積もっておく必要があります。

〈この項の構成〉

(1) データ型ごとの合計値を計算する

次に示す計算式を用いて,入力および出力で使用するデータ型ごとの合計値を計算してください。

入力メッセージ長=データ型定義の各メンバのデータ長の合計

応答メッセージ長=データ型定義の各メンバのデータ長の合計

計算式に代入する値を,次の表に示します。

表4‒7 計算式に代入する値(サービス定義)

データ型定義のメンバのデータ型

メッセージ上のサイズ(単位:バイト)

char

1

short

2

int

4

long

4

char[a][b]

a×b

short[a]

2×a

byte[a]

1×a

struct

構造体の各メンバのサイズの合計

struct[a]

構造体の各メンバのサイズの合計×a

(凡例)

a,b:配列の要素数

可変長構造体配列の場合,配列の最大要素数で見積もるようにしてください。

(2) カスタムレコードクラスのソースコードを確認する

カスタムレコードクラスのソースコードのprivate constフィールド_lengthを参照して,計算後のメッセージ上のサイズが確認できます。

(3) データトレースを使用する

Client .NETのトラブルシュート機能であるデータトレースを使用して,実際に送受信されたメッセージ長を確認できます。データトレースの詳細については,「2.9.3 データトレース」を参照してください。