Hitachi

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


7.1 障害の種類と対処方法

Client .NETで発生するおそれがある障害の種類とユーザが取る処置を次の表に示します。

表7‒1 障害の種類とユーザの取る処置

障害の種類

障害の内容

Client .NETの処理

ユーザが取る処置

通信障害

・サーバ障害

・ネットワーク障害

など

  1. 障害発生時の情報をトレースファイルに出力します。

  2. 例外をCUP.NETに通知します。

障害原因を調査して取り除くか,または障害回復を待ち,再度クライアント処理を実行してください。

必要に応じて構成定義の内容,またはTP1/Server側の定義の内容を見直してください。

また,ネームサービスを使用したRPCでは,CUPと通信先TP1/Server間で,NAT(Network Address Translator:アドレス変換)をしている場合に通信障害が発生することがあります。これを回避するためには,Client .NET側で,<nameService>要素のmultiHomedHost属性にtrueを指定してください。

サーバアプリケーション障害※1

SPP.NETでの例外発生(ユーザ例外)

TP1UserExceptionをCUP.NETに通知します。

SPP.NETの処理,入力データなどを見直してください。

SPP.NETでの例外発生(ユーザ例外以外)

TP1RemoteExceptionをCUP.NETに通知します。

SPP.NETの処理,実行環境などを見直してください。

データ変換障害

クライアントスタブでのデータ変換エラー

TP1MarshalExceptionをCUP.NETに通知します。

使用している.NETインタフェース定義の内容を見直してください。または,サービス定義およびデータ型定義の内容を見直してください。

クライアント環境障害

・ファイル障害

・メモリ不足

など

  1. 障害発生時の情報をトレースファイルに出力します。※2

  2. 例外をCUP.NETに通知します。

障害の要因を取り除いてください。

メッセージ受信障害

不正データ(4バイト以下のメッセージ)の受信

  1. 障害発生時の情報をトレースファイルに出力します。

  2. コネクションを解放します。

  3. ErrInvalidMessageExceptionをCUP.NETに通知します。

相手システムを見直してください。

受信メッセージ格納領域の超過

  1. 障害発生時の情報をトレースファイルに出力します。

  2. コネクションを解放します。

  3. ErrBufferOverflowExceptionをCUP.NETに通知します。

なお,受信メッセージ格納領域にメッセージは格納されません。

ReceiveAssembledMessageメソッドに指定した受信メッセージ格納領域のサイズ,または相手システムを見直してください。

最大待ち時間の超過

  1. コネクションを解放します。

  2. ErrTimedOutExceptionをCUP.NETに通知します。

なお,受信メッセージ格納領域には,最大待ち時間を超過するまでに受信したメッセージが格納されます。

ReceiveAssembledMessageメソッドに指定した最大待ち時間,または相手システムを見直してください。

注※1

サーバアプリケーションが.NETインタフェース定義を使用したSPP.NETの場合にだけ発生します。それ以外の場合は通信障害として通知されます。

注※2

トレースファイルへの出力で障害が発生した場合は,トレースファイルへの出力のエラーを無視して処理を続行します。以降,トレースは出力されません。