Rpc
Rpcの概要
名前空間
Hitachi.OpenTP1.Server
継承関係
System.Object
+- Hitachi.OpenTP1.Server.Rpc
説明
Rpcクラスは,クライアント/サーバ形態の通信をするときに使う,OpenTP1のリモートプロシジャコールのメソッドを提供します。
メソッドの一覧
名称 | 説明 |
---|---|
Call(System.String, System.String, System.Byte[], System.Int32, System.Byte[], System.Int32&, System.Int32) | SPP.NETまたはSPPにサービスを要求します。 |
CallTo(Hitachi.OpenTP1.Server.RpcBindTable, System.String, System.String, System.Byte[], System.Int32, System.Byte[], System.Int32&, System.Int32) | 特定のSPP.NETまたはSPPにサービスを要求します。 |
Close() | OpenTP1の各種メソッドを使うための環境をクローズします。 |
DiscardFurtherReplies() | 非同期応答型RPC(CallメソッドのflagsパラメタにTP1ServerFlags.DCRPC_DOMAINを設定)で,まだ返ってきていない応答を,これ以上受信しないことを示すメソッドです。 |
DiscardSpecificReply(System.Int32) | 非同期応答型RPC(CallメソッドのflagsパラメタにTP1ServerFlags.DCRPC_NOWAITを設定)で,まだ返ってきていない応答を,これ以上受信しないことを示すメソッドです。 |
GetCallersAddress() | クライアントUAPのプロセスが稼働するノードアドレスを,サーバUAPで取得します。 |
GetErrorDescriptor() | 非同期応答を特定しないPollAnyRepliesメソッドで例外が発生した直後に呼び出すことで,エラーが発生した非同期応答型RPC要求に対応する記述子を取得します。 |
GetGatewayAddress() | アプリケーションゲートウェイ型ファイアウォールなどの,ゲートウェイを介してクライアントUAPからのサービス要求を受信したとき,サーバUAPでゲートウェイのノードアドレスを取得します。 |
GetServicePriolity() | SetServicePriolityメソッドで設定した,サービス要求のスケジュールプライオリティを参照します。 |
GetTimeout() | 現在のサービス要求の応答待ち時間を参照します。 |
Open() | OpenTP1の各種メソッドを使う準備をします。 |
PollAnyReplies(System.Int32, System.Int32, System.Int32) | 非同期応答型RPC(CallメソッドのflagsパラメタにTP1ServerFlags.DCRPC_NOWAITを設定)でサービス要求した結果を受信します。 |
SetBindTable(Hitachi.OpenTP1.Server.RpcBindTable&, System.String, System.String, System.Int32) | 指定されたサービス要求先ノードのノード識別子(nodeIDパラメタの値),または指定されたサービス要求先ノードのホスト名(hostNameパラメタの値)をRpcBindTable構造体に設定し,CallToメソッドの第一引数を作成します。 |
SetDirectSchedule(Hitachi.OpenTP1.Server.RpcBindTable&, System.String, System.Int32) | 指定されたサービス要求先ノードのホスト名(hostNameパラメタの値)と,指定されたスケジュールサービスのポート番号(schedulePortNoパラメタの値)をRpcBindTable構造体に設定し,CallToメソッドの第一引数を作成します。 |
SetServicePriolity(System.Int32) | サービス要求のプライオリティを設定します。 |
SetServiceRetry() | 実行中のサービスメソッドの処理をリトライします。 |
SetTimeout(System.Int32) | サービス要求の応答待ち時間を変更します。 |
メソッドの詳細
●Call
public static int Call(
string serviceGroupName,
string serviceName,
byte[] inputBuffer,
int inputBuffer_len,
byte[] outputBuffer,
ref int outputBuffer_len,
int flags
);
Public Shared Function Call( _
ByVal serviceGroupName As String, _
ByVal serviceName As String, _
ByVal inputBuffer() As Byte, _
ByVal inputBuffer_len As Integer, _
ByVal outputBuffer() As Byte, _
ByRef outputBuffer_len As Integer, _
ByVal flags As Integer _
) As Integer
public static int Call(
System.String serviceGroupName,
System.String serviceName,
ubyte[] inputBuffer,
int inputBuffer_len,
ubyte[] outputBuffer,
int outputBuffer_len,
int flags
);
{TP1ServerFlags.DCNOFLAGS|
TP1ServerFlags.DCRPC_NOWAIT|
TP1ServerFlags.DCRPC_NOREPLY|
TP1ServerFlags.DCRPC_CHAINED}
〔|TP1ServerFlags.DCRPC_TPNOTRAN〕
〔|TP1ServerFlags.DCRPC_DOMAIN〕
オプション | 説明 |
---|---|
TP1ServerFlags.DCNOFLAGS | 同期応答型RPC |
TP1ServerFlags.DCRPC_NOWAIT | 非同期応答型RPC |
TP1ServerFlags.DCRPC_NOREPLY | 非応答型RPC |
TP1ServerFlags.DCRPC_CHAINED | 連鎖RPC |
TP1ServerFlags.DCRPC_TPNOTRAN | トランザクション処理からのサービス要求で,要求先の処理をトランザクションにしない場合に設定します。 TP1ServerFlags.DCRPC_TPNOTRANオプションを設定すると,トランザクションの処理からのサービス要求でも,サービス関数およびサービスメソッドの処理はトランザクションになりません。 |
TP1ServerFlags.DCRPC_DOMAIN | サービスグループ名をドメイン修飾した場合に指定します。 ドメイン修飾をしたRPCはトランザクションブランチにできません。 そのため,トランザクションの処理からCallメソッドを使う場合は,必ずTP1ServerFlags.DCRPC_TPNOTRANオプションと一緒に指定してください。 |
エラーコード | 説明 |
---|---|
DCRPCER_INVALID_ARGS | 引数に設定した値が間違っています。 |
DCRPCER_INVALID_REPLY | サービスメソッドがOpenTP1に返した応答の長さが,1から1048576までの範囲にありません。 |
DCRPCER_MESSAGE_TOO_BIG | inputBuffer_lenパラメタに設定した入力パラメタ長が,最大値を超えています。 |
DCRPCER_NET_DOWN | ネットワークに障害が起こりました。 |
DCRPCER_NOT_TRN_EXTEND | トランザクション処理の連鎖RPCを使ったあとで,flagsパラメタにTP1ServerFlags.DCRPC_TPNOTRANを設定したCallメソッドでサービスを要求しています。 |
DCRPCER_NO_BUFS | メモリが不足しました。 または,サーバのメッセージ格納領域に十分な空きがないため,サービス要求を受け付けられませんでした。 |
DCRPCER_NO_BUFS_AT_SERVER | 設定したサービスで,メモリが不足しました。 |
DCRPCER_NO_BUFS_RB | メモリが不足しました。このエラーコードが返った場合は,トランザクションブランチをコミットできません。 |
DCRPCER_NO_PORT | ドメイン修飾をしてサービスを要求しましたが,ドメイン代表スケジュールサービスのポート番号が見つかりません。 |
DCRPCER_NO_SUCH_DOMAIN | ドメイン修飾をしたサービスグループ名の,ドメイン名が間違っています。 |
DCRPCER_NO_SUCH_SERVICE | serviceNameパラメタに設定したサービス名は,定義されていません。 |
DCRPCER_NO_SUCH_SERVICE_GROUP | serviceGroupNameパラメタに設定したサービスグループは,定義されていません。 |
DCRPCER_OLTF_INITIALIZING | サービスを要求されたノードにあるOpenTP1は,開始処理中です。 |
DCRPCER_OLTF_NOT_UP | serviceNameパラメタに設定したサービスがあるノードのOpenTP1が稼働していません。異常終了,停止中,終了処理中,または通信障害が起こったことが考えられます。 |
DCRPCER_PROTO | Openメソッドを呼び出していません。 |
DCRPCER_REPLY_TOO_BIG | 返ってきた応答が,クライアントUAPで用意した領域に入り切りません。 |
DCRPCER_REPLY_TOO_BIG_RB | 返ってきた応答が,クライアントUAPで用意した領域に入り切りません。このエラーコードが返った場合は,トランザクションブランチをコミットできません。 |
DCRPCER_SECCHK | サービスを要求されたSPP.NETまたはSPPは,OpenTP1のセキュリティ機能で保護されています。Callメソッドでサービスを要求したUAPには,SPP.NETまたはSPPへのアクセス権限がありません。 |
DCRPCER_SERVER_BUSY | サービスを要求されたソケット受信型サーバが,サービス要求を受け取れません。 |
DCRPCER_SERVICE_CLOSED | serviceNameパラメタに設定したサービス名のサービスがあるサービスグループは,閉塞しています。 |
DCRPCER_SERVICE_NOT_UP | serviceNameパラメタに設定したサービスのUAPプロセスが,稼働していません。 サービス要求の応答待ち時間に0を指定した場合に,サービスを要求されたSPP.NETまたはSPPが,処理を完了する前に異常終了しました。 |
DCRPCER_SERVICE_TERMINATED | サービスを要求されたSPP.NETまたはSPPが,処理を完了する前に異常終了しました。このエラーコードは,ユーザサービス定義のrpc_extend_functionオペランドに"00000001"を指定したクライアントUAPの場合にだけ返されます。rpc_extend_functionオペランドに"00000000"を指定,またはオペランドを省略した場合は,このエラーコードは返らないで,DCRPCER_TIMED_OUTエラーコードまたはDCRPCER_SERVICE_NOT_UPエラーコードが返されます。 |
DCRPCER_SERVICE_TERMINATING | serviceNameパラメタに設定したサービスは,終了処理中です。 |
DCRPCER_SYSERR | システムエラーが発生しました。 |
DCRPCER_SYSERR_AT_SERVER | 設定したサービスで,システムエラーが発生しました。 |
DCRPCER_SYSERR_AT_SERVER_RB | 設定したサービスで,システムエラーが発生しました。このエラーコードが返った場合は,トランザクションブランチをコミットできません。 |
DCRPCER_SYSERR_RB | システムエラーが発生しました。このエラーコードが返った場合は,トランザクションブランチをコミットできません。 |
DCRPCER_TESTMODE | オンラインテスタを使っている環境で,テストモードのUAPからテストモードでないSPPへサービスを要求しています。または,テストモードでないUAPからテストモードのSPPへサービスを要求しています。 |
DCRPCER_TIMED_OUT | Callメソッドの処理が時間切れ(タイムアウト)になりました。 サービスを要求されたSPP.NETまたはSPPが,処理を完了する前に異常終了しました。 |
DCRPCER_TRNCHK | ノード間負荷バランス機能およびノード間負荷バランス拡張機能の環境で,複数のSPP.NETまたはSPPのトランザクション属性が一致していません。または,負荷を分散する先のノードにあるOpenTP1のバージョンが,クライアントのOpenTP1のバージョンよりも低いため,ノード間負荷バランス機能およびノード間負荷バランス拡張機能を実行できません。 このエラーコードは,ノード間負荷バランス機能およびノード間負荷バランス拡張機能を使っているSPP.NETまたはSPPにサービスを要求した場合にだけ返されます。 |
DCRPCER_TRNCHK_EXTEND | 同時に起動できるトランザクションブランチの数を超えたため,トランザクションブランチを開始できません。 一つのトランザクションブランチから開始できる子トランザクションブランチの最大数を超えたため,トランザクションブランチを開始できません。 トランザクション内でドメイン修飾をしたサービス要求で,flagsパラメタにTP1ServerFlags.DCRPC_TPNOTRANオプションを設定していません。 リソースマネジャ(RM)でエラーが発生したため,トランザクションブランチを開始できません。 |
RPCの形態 | outputBufferパラメタとoutputBuffer_lenパラメタを参照できる場合 |
---|---|
同期応答型RPC,または連鎖RPC | Callメソッドが応答を返したあと。 |
非同期応答型RPC | PollAnyRepliesメソッドが該当する応答を受け取って応答を返したあと。 outputBuffer_lenパラメタは参照できません。 |
非応答型RPC | outputBufferパラメタとoutputBuffer_lenパラメタは参照できません。 Callメソッド,またはPollAnyRepliesメソッドが例外応答した場合には,outputBufferパラメタとoutputBuffer_lenパラメタは参照できません。 返ってきた応答が,クライアントUAPで確保した応答の領域(outputBufferパラメタの値)よりも大きい場合は,Hitachi.OpenTP1.TP1Error.DCRPCER_REPLY_TOO_BIGで例外応答します。 |
RPCの形態 | Callメソッドの実行結果 |
---|---|
同期応答型RPC (flagsパラメタにTP1ServerFlags.DCNOFLAGSを設定) | Callメソッドは,応答が返るか,通信先でエラーが起こるまで応答を返しません。 |
非同期応答型RPC (flagsパラメタにTP1ServerFlags.DCRPC_NOWAITを設定) | Callメソッドは,すぐに応答を返します。ただし,応答を参照できるのは,PollAnyRepliesメソッドで非同期に応答を受信したあとです。 応答(outputBufferパラメタの値)の領域は,次に示す方法で非同期応答型RPCを終了するまで,解放しないでください。
なお,非トランザクションの処理で,同期点処理後に応答を受け取りたい場合は,システムサービス定義のrpc_extend_functionオペランドで該当するオプションを指定する必要があります。 |
非応答型RPC (flagsパラメタにTP1ServerFlags.DCRPC_NOREPLYを設定) | Callメソッドは,サービスメソッドの処理が終わるのを待たないで,すぐに応答を返します。サービスメソッドは応答を返さないサービスとみなされます。そのため,サービスメソッドが実行されたかどうかは,サービスを要求したUAPからはわかりません。TP1ServerFlags.DCRPC_NOREPLYを設定した場合は,応答(outputBufferパラメタの値)と応答の長さ(outputBuffer_lenパラメタの値)の値は参照できません。 |
連鎖RPC (flagsパラメタにTP1ServerFlags.DCRPC_CHAINEDを設定) | Callメソッドは,応答が返るか,通信先でエラーが起こるまで応答を返しません。連鎖RPCで同じサービスグループに属するサービスを複数回要求する場合は,最初の要求時と同じプロセスで実行できます。 連鎖RPCを使う場合には,次に示す制限があります。
|
RPCの形態 | エラーが返るタイミング |
---|---|
同期応答型RPCまたは連鎖RPC (flagsパラメタにTP1ServerFlags.DCNOFLAGSまたはTP1ServerFlags.DCRPC_CHAINEDを設定) | サービスを実行するSPP.NETまたはSPPが処理の終わる前に異常終了すると,Hitachi.OpenTP1.TP1Error.DCRPCER_TIMED_OUTで例外応答します。 クライアントUAPのユーザサービス定義のwatch_timeオペランドに,応答を受信するまで待ち続ける指定をしている場合は,Hitachi.OpenTP1.TP1Error.DCRPCER_SERVICE_NOT_UPで例外応答します。 |
非同期応答型RPC (flagsパラメタにTP1ServerFlags.DCRPC_NOWAITを設定) | サービスを実行するSPP.NETまたはSPPが処理の終わる前に異常終了すると,上記のエラーコードがPollAnyRepliesメソッドに例外応答します。 |
非応答型RPC (flagsパラメタにTP1ServerFlags.DCRPC_NOREPLYを設定) | サーバUAPの異常終了を,クライアントUAPでは検知できません。 |
●CallTo
public static int CallTo(
Hitachi.OpenTP1.Server.RpcBindTable direction,
string serviceGroupName,
string serviceName,
byte[] inputBuffer,
int inputBuffer_len,
byte[] outputBuffer,
ref int outputBuffer_len,
int flags
);
Public Shared Function CallTo( _
ByVal direction As Hitachi.OpenTP1.Server.RpcBindTable, _
ByVal serviceGroupName As String, _
ByVal serviceName As String, _
ByVal inputBuffer() As Byte, _
ByVal inputBuffer_len As Integer, _
ByVal outputBuffer() As Byte, _
ByRef outputBuffer_len As Integer, _
ByVal flags As Integer _
) As Integer
public static int CallTo(
Hitachi.OpenTP1.Server.RpcBindTable direction,
System.String serviceGroupName,
System.String serviceName,
ubyte[] inputBuffer,
int inputBuffer_len,
ubyte[] outputBuffer,
int outputBuffer_len,
int flags
);
{TP1ServerFlags.DCNOFLAGS|
TP1ServerFlags.DCRPC_NOWAIT|
TP1ServerFlags.DCRPC_NOREPLY|
TP1ServerFlags.DCRPC_CHAINED}
〔|TP1ServerFlags.DCRPC_TPNOTRAN〕
〔|TP1ServerFlags.DCRPC_DOMAIN〕
オプション | 説明 |
---|---|
TP1ServerFlags.DCNOFLAGS | 同期応答型RPC |
TP1ServerFlags.DCRPC_NOWAIT | 非同期応答型RPC |
TP1ServerFlags.DCRPC_NOREPLY | 非応答型RPC |
TP1ServerFlags.DCRPC_CHAINED | 連鎖RPC |
TP1ServerFlags.DCRPC_TPNOTRAN | トランザクション処理からのサービス要求で,要求先の処理をトランザクションにしない場合に設定します。 TP1ServerFlags.DCRPC_TPNOTRANオプションを設定すると,トランザクションの処理からのサービス要求でも,サービス関数およびサービスメソッドの処理はトランザクションになりません。 |
TP1ServerFlags.DCRPC_DOMAIN | サービスグループ名をドメイン修飾した場合に指定します。 ドメイン修飾をしたRPCはトランザクションブランチにできません。 そのため,トランザクションの処理からCallメソッドを使う場合は,必ずTP1ServerFlags.DCRPC_TPNOTRANオプションと一緒に指定してください。 |
エラーコード | 説明 |
---|---|
DCRPCER_INVALID_ARGS | 引数に設定した値が間違っています。 RpcBindTable構造体のHostNameプロパティに指定されたホスト名を,DNSなどでIPアドレスと対応づけできません。 CallToメソッドの第一引数に指定したRpcBindTable構造体が,SetDirectScheduleメソッドで作成されていて,SetDirectScheduleメソッドのhostNameパラメタに0を指定しています。 |
DCRPCER_INVALID_REPLY | サービスメソッドがOpenTP1に返した応答の長さが,1から1048576の範囲にありません。 |
DCRPCER_MESSAGE_TOO_BIG | inputBuffer_lenパラメタに設定した入力パラメタ長が,最大値を超えています。 |
DCRPCER_NET_DOWN | ネットワークに障害が起こりました。 |
DCRPCER_NOT_TRN_EXTEND | トランザクション処理の連鎖RPCを使ったあとで,flagsパラメタにTP1ServerFlags.DCRPC_TPNOTRANを設定したCallメソッドでサービスを要求しています。 |
DCRPCER_NO_BUFS | メモリが不足しました。 または,サーバのメッセージ格納領域に十分な空きがないため,サービス要求を受け付けられませんでした。 |
DCRPCER_NO_BUFS_AT_SERVER | 設定したサービスで,メモリが不足しました。 |
DCRPCER_NO_BUFS_RB | メモリが不足しました。このエラーコードが返った場合は,トランザクションブランチをコミットできません。 |
DCRPCER_NO_PORT | ドメイン修飾をしてサービスを要求しましたが,ドメイン代表スケジュールサービスのポート番号が見つかりません。 |
DCRPCER_NO_SUCH_DOMAIN | ドメイン修飾をしたサービスグループ名の,ドメイン名が間違っています。 |
DCRPCER_NO_SUCH_SERVICE | serviceNameパラメタに設定したサービス名は,定義されていません。 |
DCRPCER_NO_SUCH_SERVICE_GROUP | serviceGroupNameパラメタに設定したサービスグループは定義されていません。RpcBindTable構造体のNodeIDプロパティに指定されたノード識別子が,グローバルドメイン(システム共通定義のall_nodeオペランドで指定したノード名の集合)内にありません。 一つのトランザクションブランチから開始できる子トランザクションブランチの最大数を超えたため,トランザクションブランチを開始できません。 トランザクション内でドメイン修飾をしたサービス要求で,flagsパラメタにTP1ServerFlags.DCRPC_TPNOTRANを設定していません。 リソースマネジャ(RM)でエラーが発生したため,トランザクションブランチを開始できません。 SetDirectScheduleメソッドを使用してRpcBindTable構造体を作成し,非トランザクション属性(ユーザサービス定義のatomic_updateオペランドにNを指定)のユーザサーバに対し,CallToメソッドのflagsパラメタにTP1ServerFlags.DCRPC_TPNOTRANとの論理和を指定しないでサービスを要求しました。 |
DCRPCER_OLTF_INITIALIZING | サービスを要求されたノードにあるOpenTP1は,開始処理中です。 |
DCRPCER_OLTF_NOT_UP | serviceNameパラメタに設定したサービスがあるノードのOpenTP1が稼働していません。異常終了,停止中,終了処理中,または通信障害の発生が考えられます。 |
DCRPCER_PROTO | Openメソッドを呼び出していません。 |
DCRPCER_REPLY_TOO_BIG | 返ってきた応答が,クライアントUAPで用意した領域に入り切りません。 |
DCRPCER_REPLY_TOO_BIG_RB | 返ってきた応答が,クライアントUAPで用意した領域に入り切りません。このエラーコードが返った場合は,トランザクションブランチをコミットできません。 |
DCRPCER_SECCHK | サービスを要求されたSPP.NETまたはSPPは,OpenTP1のセキュリティ機能で保護されています。Callメソッドでサービスを要求したUAPには,SPP.NETまたはSPPへのアクセス権限がありません。 |
DCRPCER_SERVER_BUSY | サービスを要求されたソケット受信型サーバが,サービス要求を受け取れません。 |
DCRPCER_SERVICE_CLOSED | serviceNameパラメタに設定したサービス名のサービスがあるサービスグループは,閉塞しています。 |
DCRPCER_SERVICE_NOT_UP | serviceNameパラメタに設定したサービスのUAPプロセスが,稼働していません。 サービス要求の応答待ち時間に0を指定した場合に,サービスを要求されたSPP.NETまたはSPPが,処理を完了する前に異常終了しました。 |
DCRPCER_SERVICE_TERMINATING | serviceNameパラメタに設定したサービスは,終了処理中です。 |
DCRPCER_SYSERR | システムエラーが発生しました。 |
DCRPCER_SYSERR_AT_SERVER | 設定したサービスで,システムエラーが発生しました。 |
DCRPCER_SYSERR_AT_SERVER_RB | 設定したサービスで,システムエラーが発生しました。このエラーコードが返った場合は,トランザクションブランチをコミットできません。 |
DCRPCER_SYSERR_RB | システムエラーが発生しました。このエラーコードが返った場合は,トランザクションブランチをコミットできません。 |
DCRPCER_TESTMODE | オンラインテスタを使っている環境で,テストモードのUAPからテストモードでないSPPへサービスを要求しています。または,テストモードでないUAPからテストモードのSPPへサービスを要求しています。 |
DCRPCER_TIMED_OUT | Callメソッドの処理が時間切れ(タイムアウト)になりました。 サービスを要求されたSPP.NETまたはSPPが,処理を完了する前に異常終了しました。 |
DCRPCER_TRNCHK | ノード間負荷バランス機能およびノード間負荷バランス拡張機能の環境で,複数のSPP.NETまたはSPPのトランザクション属性が一致していません。または,負荷を分散する先のノードにあるOpenTP1のバージョンが,クライアントのOpenTP1のバージョンよりも古いため,ノード間負荷バランス機能およびノード間負荷バランス拡張機能を実行できません。 このエラーコードは,ノード間負荷バランス機能およびノード間負荷バランス拡張機能を使っているSPP.NETまたはSPPにサービスを要求した場合だけ返されます。 |
DCRPCER_TRNCHK_EXTEND | 同時に起動できるトランザクションブランチの数を超えたため,トランザクションブランチを開始できません。 一つのトランザクションブランチから開始できる子トランザクションブランチの最大数を超えたため,トランザクションブランチを開始できません。 トランザクション内でドメイン修飾をしたサービス要求で,flagsパラメタにTP1ServerFlags.DCRPC_TPNOTRANを設定していません。 リソースマネジャ(RM)でエラーが発生したため,トランザクションブランチを開始できません。 SetDirectScheduleメソッドを使用してRpcBindTable構造体を作成し,非トランザクション属性(ユーザサービス定義のatomic_updateオペランドにNを指定)のユーザサーバに対し,CallToメソッドのflagsパラメタにTP1ServerFlags.DCRPC_TPNOTRANとの論理和を指定しないでサービスを要求しました。 |
●Close
public static void Close(
);
Public Shared Sub Close( _
)
public static void Close(
);
●DiscardFurtherReplies
public static void DiscardFurtherReplies(
);
Public Shared Sub DiscardFurtherReplies( _
)
public static void DiscardFurtherReplies(
);
エラーコード | 説明 |
---|---|
DCRPCER_PROTO | Openメソッドを呼び出していません。 |
●DiscardSpecificReply
public static void DiscardSpecificReply(
int descriptor
);
Public Shared Sub DiscardSpecificReply( _
ByVal descriptor As Integer _
)
public static void DiscardSpecificReply(
int descriptor
);
エラーコード | 説明 |
---|---|
DCRPCER_INVALID_ARGS | 引数に設定した値が間違っています。 |
DCRPCER_INVALID_DES | descriptorパラメタに設定した記述子は存在しません。要因として次のことが考えられます。
|
DCRPCER_PROTO | Openメソッドを呼び出していません。 |
●GetCallersAddress
public static System.Net.IPAddress GetCallersAddress(
);
Public Shared Function GetCallersAddress( _
) As System.Net.IPAddress
public static System.Net.IPAddress GetCallersAddress(
);
エラーコード | 説明 |
---|---|
DCRPCER_PROTO | Openメソッドを呼び出していません。 |
●GetErrorDescriptor
public static int GetErrorDescriptor(
);
Public Shared Function GetErrorDescriptor( _
) As Integer
public static int GetErrorDescriptor(
);
エラーコード | 説明 |
---|---|
DCRPCER_INVALID_ARGS | 引数に設定した値が間違っています。 |
DCRPCER_PROTO | Openメソッドを呼び出していません。 |
●GetGatewayAddress
public static System.Net.IPAddress GetGatewayAddress(
);
Public Shared Function GetGatewayAddress( _
) As System.Net.IPAddress
public static System.Net.IPAddress GetGatewayAddress(
);
エラーコード | 説明 |
---|---|
DCRPCER_INVALID_ARGS | 引数に設定した値が間違っています。 |
DCRPCER_PROTO | サービスメソッドから呼び出されていません。 Openメソッドを呼び出していません。 |
●GetServicePriolity
public static int GetServicePriolity(
);
Public Shared Function GetServicePriolity( _
) As Integer
public static int GetServicePriolity(
);
エラーコード | 説明 |
---|---|
DCRPCER_PROTO | Openメソッドを呼び出していません。 |
上記以外の負の整数 | プログラムの破壊などによる,予期しないエラーが発生しました。 |
●GetTimeout
public static int GetTimeout(
);
Public Shared Function GetTimeout( _
) As Integer
public static int GetTimeout(
);
エラーコード | 説明 |
---|---|
DCRPCER_PROTO | Openメソッドを呼び出していません。 |
上記以外の負の整数 | プログラムの破壊などによる,予期しないエラーが発生しました。 |
●Open
public static void Open(
);
Public Shared Sub Open( _
)
public static void Open(
);
エラーコード | 説明 |
---|---|
DCNJSER_SYSTEM | 内部エラーが発生しました。 |
DCNJSER_XALIB_INVALID | トランザクション制御用ライブラリが不正です。 |
DCNJSER_XALIB_LOAD | トランザクション制御用ライブラリが見つかりません。 |
DCRPCER_FATAL | 初期化に失敗しました。以降,OpenTP1のメソッドは使えません。 |
DCRPCER_INVALID_ARGS | 引数が間違っています。 |
DCRPCER_OLTF_NOT_UP | SUP.NETがあるノードのOpenTP1が実行していません。 |
DCRPCER_PROTO | Openメソッドはすでに呼び出しています。 |
DCRPCER_SEC_INIT | セキュリティ機能を使ったOpenTP1が,セキュリティ環境の初期化処理でエラーになりました。 |
DCRPCER_STANDBY_END | 待機系のユーザサーバが,待機の終了を要求されました。または,系切り替え時にすでに終了していたため,待機の終了を要求されました。 |
●PollAnyReplies
public static int PollAnyReplies(
int descriptor,
int timeout,
int flags
);
Public Shared Function PollAnyReplies( _
ByVal descriptor As Integer, _
ByVal timeout As Integer, _
ByVal flags As Integer _
) As Integer
public static int PollAnyReplies(
int descriptor,
int timeout,
int flags
);
{TP1ServerFlags.DCNOFLAGS|
TP1ServerFlags.DCRPC_SPECIFIC_MSG}
〔|TP1ServerFlags.DCRPC_WAIT_MILLISEC〕
オプション | 説明 |
---|---|
TP1ServerFlags.DCNOFLAGS | 受信する非同期の応答を特定しません。 |
TP1ServerFlags.DCRPC_SPECIFIC_MSG | descriptorパラメタに設定した記述子をリターンした,非同期応答型RPCの応答を受信します。 |
TP1ServerFlags.DCRPC_WAIT_MILLISEC | timeoutパラメタで設定した待ち時間の単位をミリ秒にします。 |
エラーコード | 説明 |
---|---|
DCRPCER_ALL_RECEIVED | 非同期応答型RPCで要求したサービスの処理結果は,すべて受信しました。 |
DCRPCER_INVALID_ARGS | 引数に設定した値が間違っています。 |
DCRPCER_INVALID_DES | descriptorパラメタに設定した記述子は存在しません。このエラーコードは,flagsパラメタにTP1ServerFlags.DCRPC_SPECIFIC_MSGを設定した場合に返されます。 |
DCRPCER_INVALID_REPLY | サービスメソッドがOpenTP1に返した応答の長さが,1から1048576の範囲にありません。 |
DCRPCER_MESSAGE_TOO_BIG | inputBuffer_lenパラメタに設定した入力パラメタ長が,最大値を超えています。 |
DCRPCER_NET_DOWN | ネットワークに障害が起こりました。 |
DCRPCER_NO_BUFS | メモリが不足しました。 |
DCRPCER_NO_BUFS_AT_SERVER | Callメソッドに設定したサービスで,メモリが不足しました。 |
DCRPCER_NO_BUFS_RB | メモリが不足しました。このエラーコードが返った場合は,トランザクションブランチをコミットできません。 |
DCRPCER_NO_PORT | ドメイン修飾をしてサービスを要求しましたが,ドメイン代表スケジュールサービスのポート番号が見つかりません。 |
DCRPCER_NO_SUCH_DOMAIN | ドメイン修飾をしたサービスグループ名の,ドメイン名が間違っています。 |
DCRPCER_NO_SUCH_SERVICE | CallメソッドのserviceNameパラメタに設定したサービス名は,定義されていません。 |
DCRPCER_NO_SUCH_SERVICE_GROUP | CallメソッドのserviceGroupNameパラメタに設定したサービスグループは,定義されていません。 |
DCRPCER_OLTF_INITIALIZING | サービスを要求されたノードにあるOpenTP1は,開始処理中です。 |
DCRPCER_OLTF_NOT_UP | CallメソッドのserviceNameパラメタに設定したサービスがあるノードのOpenTP1が稼働していません。異常終了,停止中,終了処理中,または通信障害が起こったことが考えられます。 |
DCRPCER_PROTO | Openメソッドを呼び出していません。 |
DCRPCER_REPLY_TOO_BIG | 返ってきた応答が,クライアントUAPで用意した領域に入り切りません。 |
DCRPCER_REPLY_TOO_BIG_RB | 返ってきた応答が,クライアントUAPで用意した領域に入り切りません。このエラーコードが返った場合は,トランザクションブランチをコミットできません。 |
DCRPCER_SECCHK | サービスを要求されたSPP.NETまたはSPPは,OpenTP1のセキュリティ機能で保護されています。Callメソッドでサービスを要求したUAPには,SPP.NETまたはSPPへのアクセス権限がありません。 |
DCRPCER_SERVER_BUSY | サービスを要求されたソケット受信型サーバが,サービス要求を受け取れません。 |
DCRPCER_SERVICE_CLOSED | CallメソッドのserviceNameパラメタに設定したサービス名があるサービスグループは,閉塞しています。 |
DCRPCER_SERVICE_NOT_UP | CallメソッドのserviceNameパラメタに設定したサービスのUAPプロセスが,稼働していません。 timeoutパラメタに-1を指定した場合に,サービスを要求されたSPP.NETまたはSPPが,処理を完了する前に異常終了しました。 |
DCRPCER_SERVICE_TERMINATED | サービスを要求されたSPP.NETまたはSPPが,処理を完了する前に異常終了しました。このエラーコードは,ユーザサービス定義のrpc_extend_functionオペランドに"00000001"を指定したクライアントUAPの場合にだけ返されます。 rpc_extend_functionオペランドに"00000000"を指定,またはオペランドを省略した場合は,このエラーコードは返らないで,Hitachi.OpenTP1.TP1Error.DCRPCER_TIMED_OUTまたはHitachi.OpenTP1.TP1Error.DCRPCER_SERVICE_NOT_UPが返されます。 |
DCRPCER_SERVICE_TERMINATING | CallメソッドのserviceNameパラメタに設定したサービスは,終了処理中です。 |
DCRPCER_SYSERR | システムエラーが発生しました。 |
DCRPCER_SYSERR_AT_SERVER | Callメソッドに設定したサービスで,システムエラーが発生しました。 |
DCRPCER_SYSERR_AT_SERVER_RB | 設定したサービスで,システムエラーが発生しました。このエラーコードが返った場合は,トランザクションブランチをコミットできません。 |
DCRPCER_SYSERR_RB | システムエラーが発生しました。このエラーコードが返った場合は,トランザクションブランチをコミットできません。 |
DCRPCER_TESTMODE | オンラインテスタを使っている環境で,テストモードのUAPからテストモードでないSPPへサービスを要求しています。または,テストモードでないUAPからテストモードのSPPへサービスを要求しています。 |
DCRPCER_TIMED_OUT | Callメソッドの処理が時間切れ(タイムアウト)になりました。 サービスを要求されたSPP.NETまたはSPPが,処理を完了する前に異常終了しました。 |
DCRPCER_TRNCHK | ノード間負荷バランス機能およびノード間負荷バランス拡張機能の環境で,複数のSPP.NETまたはSPPのトランザクション属性が一致していません。または,負荷を分散する先のノードにあるOpenTP1のバージョンが,クライアントのOpenTP1のバージョンよりも古いため,ノード間負荷バランス機能およびノード間負荷バランス拡張機能を実行できません。 このエラーコードは,ノード間負荷バランス機能およびノード間負荷バランス拡張機能を使っているSPP.NETまたはSPPにサービスを要求した場合にだけ返されます。 |
DCRPCER_TRNCHK_EXTEND | 同時に起動できるトランザクションブランチの数を超えたため,トランザクションブランチを開始できません。 一つのトランザクションブランチから開始できる子トランザクションブランチの最大数を超えたため,トランザクションブランチを開始できません。トランザクション内でドメイン修飾をしたサービス要求で,flagsパラメタにTP1ServerFlags.DCRPC_TPNOTRANを設定していません。 リソースマネジャ(RM)でエラーが発生したため,トランザクションブランチを開始できません。 |
●SetBindTable
public static void SetBindTable(
ref Hitachi.OpenTP1.Server.RpcBindTable direction,
string nodeID,
string hostName,
int portNo
);
Public Shared Sub SetBindTable( _
ByRef direction As Hitachi.OpenTP1.Server.RpcBindTable, _
ByVal nodeID As String, _
ByVal hostName As String, _
ByVal portNo As Integer _
)
public static void SetBindTable(
Hitachi.OpenTP1.Server.RpcBindTable direction,
System.String nodeID,
System.String hostName,
int portNo
);
エラーコード | 説明 |
---|---|
DCRPCER_PROTO | Openメソッドを呼び出していません。 |
●SetDirectSchedule
public static void SetDirectSchedule(
ref Hitachi.OpenTP1.Server.RpcBindTable direction,
string hostName,
int schedulePortNo
);
Public Shared Sub SetDirectSchedule( _
ByRef direction As Hitachi.OpenTP1.Server.RpcBindTable, _
ByVal hostName As String, _
ByVal schedulePortNo As Integer _
)
public static void SetDirectSchedule(
Hitachi.OpenTP1.Server.RpcBindTable direction,
System.String hostName,
int schedulePortNo
);
エラーコード | 説明 |
---|---|
DCRPCER_PROTO | Openメソッドを呼び出していません。 |
●SetServicePriolity
public static void SetServicePriolity(
int schedulePriolity
);
Public Shared Sub SetServicePriolity( _
ByVal schedulePriolity As Integer _
)
public static void SetServicePriolity(
int schedulePriolity
);
エラーコード | 説明 |
---|---|
DCRPCER_PROTO | Openメソッドを呼び出していません。 |
●SetServiceRetry
public static void SetServiceRetry(
);
Public Shared Sub SetServiceRetry( _
)
public static void SetServiceRetry(
);
エラーコード | 説明 |
---|---|
DCRPCER_PROTO | SetServiceRetryメソッドを呼び出す条件に誤りがあります。 次に示すことが考えられます。
|
DCRPCER_RETRY_COUNT_OVER | ユーザサービス定義のrpc_service_retry_countオペランドに指定したサービスリトライ回数最大値を超えて,SetServiceRetryメソッドを呼び出しています。これ以上サービスメソッドをリトライできません。 |
●SetTimeout
public static void SetTimeout(
int waitTime
);
Public Shared Sub SetTimeout( _
ByVal waitTime As Integer _
)
public static void SetTimeout(
int waitTime
);
エラーコード | 説明 |
---|---|
DCRPCER_PROTO | Openメソッドを呼び出していません。 |
上記以外の負の整数 | プログラムの破壊などによる,予期しないエラーが発生しました。 |