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

[目次][用語][索引][前へ][次へ]

Rap

Rapの概要

名前空間

Hitachi.OpenTP1.Server

継承関係

System.Object
  +- Hitachi.OpenTP1.Server.Rap

説明

Rapクラスは,リモートAPI機能で,コネクションの確立および解放をユーザが管理する場合に使用するメソッドを提供します。

メソッドの一覧

名称 説明
Connect(System.String, System.Int32) rapリスナーとrapクライアントとの間にコネクションを確立します。
Disconnect(System.Int32) rapリスナーとrapクライアントとの間に確立されているコネクションを解放します。

メソッドの詳細

Connect

説明
rapリスナーとrapクライアントとの間にコネクションを確立します。
コネクションを確立するrapリスナーはtargetHostNameパラメタに指定したホスト上にtargetPortNoパラメタに指定したポート番号で起動されているrapリスナーです。

宣言
【C#の場合】
public static int Connect(
  string targetHostName,
  int targetPortNo
);
【Visual Basicの場合】
Public Shared Function Connect( _
  ByVal targetHostName As String, _
  ByVal targetPortNo As Integer _
) As Integer
【J#の場合】
public static int Connect(
  System.String targetHostName,
  int targetPortNo
);

パラメタ
targetHostName
rapリスナーが起動されているOpenTP1ノードのホスト名を設定します。
targetPortNo
rapリスナーの使用しているポート番号を設定します。

戻り値
メソッドが正常終了した場合に,サービスIDを返却します。

例外
Hitachi.OpenTP1.Server.TP1ServerException
次の情報が出力されます。
  • メッセージ
    例外の内容が出力されます。
    OpenTP1提供関数内でエラーが発生した場合は,次のように出力されます。
    "OpenTP1提供関数実行時にエラーが発生しました。"
    それ以外の場合は,各エラーに対応したメッセージが出力されます。
  • クラス名
    例外が発生したクラス名が出力されます。
  • メソッド名
    例外が発生したメソッド名が出力されます。
  • 引数名(OpenTP1提供関数呼び出し前の引数チェックでエラーになった場合にだけ出力)
    例外が発生する原因となった引数名が出力されます。
  • エラーコード
    発生原因に応じ,次のエラーコードが出力されます。
    エラーコード 説明
    DCRAPER_ALREADY_CONNECT すでにrapリスナーとのコネクションは確立しています。
    DCRAPER_MAX_CONNECTION 一つのプロセスからRapクラスのConnectメソッドを呼び出せる上限値を超えました。
    DCRAPER_MAX_CONNECTION_SV rapリスナーの管理するrapクライアントとのコネクション要求受け付け可能最大数を超えました。
    DCRAPER_NETDOWN rapリスナーとの通信でネットワーク障害が発生しました。
    DCRAPER_NOCONTINUE 続行できない障害が発生しました。障害の要因として次のことが考えられます。
    • 予期しないメッセージを受信しました。
    • 予期しない相手からのメッセージを受信しました。
    DCRAPER_NOHOSTNAME ホスト名称が解決できません。
    DCRAPER_NOMEMORY メモリが不足しました。
    DCRAPER_NOMEMORY_SV rapリスナーまたはrapサーバでメモリ不足が発生しました。
    DCRAPER_NOSERVICE rapリスナーは開始処理中,または停止処理中です。
    DCRAPER_NOSOCKET ソケット不足が発生しました。
    DCRAPER_PANIC_SV rapリスナーでシステム障害が発生しました。
    DCRAPER_PARAM 引数が間違っています。
    DCRAPER_PROTO プロトコル不正です。次の要因が考えられます。
    • RpcクラスのOpenメソッドが呼び出されていません。
    DCRAPER_SHUTDOWN rapリスナーは停止中です。
    DCRAPER_SYSCALL システムコールで予期しないエラーが発生しました。
    DCRAPER_TIMEDOUT rapリスナーとの通信でタイムアウトが発生しました。
    DCRAPER_TIMEOUT_SV rapリスナーサービス定義のrap_watch_timeオペランドに指定したメッセージ送受信最大監視時間内にコネクションが確立できませんでした。
    DCRAPER_UNKNOWN_NODE 接続されていないネットワーク上のrapリスナーに対してコネクションを確立しようとしています。

 

Disconnect

説明
rapリスナーとrapクライアントとの間に確立されているコネクションを解放します。

宣言
【C#の場合】
public static void Disconnect(
  int serviceID
);
【Visual Basicの場合】
Public Shared Sub Disconnect( _
  ByVal serviceID As Integer _
)
【J#の場合】
public static void Disconnect(
  int serviceID
);

パラメタ
serviceID
Connectメソッドで受け取ったサービスIDを設定します。

戻り値
なし

例外
Hitachi.OpenTP1.Server.TP1ServerException
次の情報が出力されます。
  • メッセージ
    例外の内容が出力されます。
    OpenTP1提供関数内でエラーが発生した場合は,次のように出力されます。
    "OpenTP1提供関数実行時にエラーが発生しました。"
    それ以外の場合は,各エラーに対応したメッセージが出力されます。
  • クラス名
    例外が発生したクラス名が出力されます。
  • メソッド名
    例外が発生したメソッド名が出力されます。
  • エラーコード
    発生原因に応じ,次のエラーコードが出力されます。
    エラーコード 説明
    DCRAPER_NETDOWN rapリスナーとの通信でネットワーク障害が発生しました。
    DCRAPER_NOCONTINUE 続行できない障害が発生しました。障害の要因として次のことが考えられます。
    • 予期しないメッセージを受信しました。
    • 予期しない相手からのメッセージを受信しました。
    DCRAPER_NOMEMORY メモリが不足しました。
    DCRAPER_PARAM 引数が間違っています。
    DCRAPER_PROTO プロトコル不正です。次の要因が考えられます。
    • RpcクラスのOpenメソッドが呼び出されていません。
    DCRAPER_SHUTDOWN rapリスナーは停止中です。
    DCRAPER_SYSCALL システムコールで予期しないエラーが発生しました。
    DCRAPER_TIMEDOUT rapリスナーとの通信でタイムアウトが発生しました。

注意事項
例外発生時のエラーコードがHitachi.OpenTP1.TP1Error.DCRAPER_PARAM/Hitachi.OpenTP1.TP1Error.DCRAPER_PROTO以外の値で,Disconnectメソッドが異常終了した場合,rapリスナーとのコネクションは解放されています。
UAPトレースに取得されるエラー要因コードは次のとおりです。
0:エラー無し
1:RPC.Openメソッドが呼び出されていません。
3:ユーザサービス定義のrpc_rap_auto_connectオペランドにYを指定している環境でDisconnectメソッドが呼び出されました。