BEA Logo BEA Tuxedo Release 8.0

  BEA ホーム  |  イベント  |  ソリューション  |  パートナ  |  製品  |  サービス  |  ダウンロード  |  ディベロッパ・センタ  |  WebSUPPORT

 

   Tuxedoホーム   |   BEA Tuxedo C リファレンス   |   先頭へ   |   前へ   |   次へ   |   目次

 


tperrordetail(3c)

名前

tperrordetail()-最後の BEA Tuxedo ATMI システム呼び出しから生じるエラーに関する詳細の取得

形式

#include <atmi.h>
int tperrordetail(long flags)

機能説明

tperrordetail() は、カレント・スレッドで呼び出された最後の BEA Tuxedo ATMI ルーチンにより発生したエラーに関する追加の詳細情報を返します。tperrordetail() は、数値を返します。その数値は、シンボリック名でも表わされます。カレント・スレッドで呼び出された最後の BEA Tuxedo ATMI ルーチンによりエラーが発生していない場合、tperrordetail() は、ゼロを返します。従って、tperrordetail() はエラーが表示された後、つまり tperrno() が設定されたときに呼び出す必要があります。

flags は将来使用する予定であり、現在は必ずゼロを指定してください。

マルチスレッドのアプリケーション中のスレッドは、TPINVALIDCONTEXT を含め、どのコンテキスト状態で実行していても、tperrordetail() の呼び出しを発行できます。

戻り値

異常終了すると、tperrordetail()-1 を返し、tperrno() を設定してエラー条件を示します。

設定されるのは、tperrordetail() が返す各数値のシンボリック名および意味です。表示される順序は任意ではなく、優先順位を示すものではありません。

TPED_CLIENTDISCONNECTED

Jolt クライアントは現在接続されていません。tpnotify() 呼び出しに TPACK フラグが使用され、tpnotify() のターゲットは現在 Jolt クライアントに接続していません。tpnotify() が異常終了したときは、中間の ATMI 呼び出しを省略して引き続き tperrordetail() を呼び出すと、TPED_CLIENTDISCONNECTED が返されます。

TPED_DECRYPTION_FAILURE

暗号化されたメッセージを受信するプロセスが、メッセージを解読できません。このエラーが発生するのは、多くの場合、メッセージを解読するための秘密鍵にプロセスがアクセスできないためです。

このエラーで呼び出しが異常終了した場合に、中間の ATMI 呼び出しを省略して引き続き tperrordetail() を呼び出すと TPED_DECRYPTION_FAILURE が返されます。

TPED_DOMAINUNREACHABLE

ドメインに到達できません。つまり、要求の作成時に、ローカル・ドメインではサービスできない要求を満たすように構成されたドメインに到達できませんでした。要求が異常終了した後で、中間 ATMI 呼び出しを省略して引き続き tperrordetail() を呼び出すと、TPED_DOMAINUNREACHABLE が返されます。

次の表は、ドメインに到達できないために tpcall()tpgetrply()、または tprecv() 呼び出しが異常終了した場合に tperrno() が返す値を示します。引き続き tperrordetail() を呼び出すと、エラーの詳細として TPED_DOMAINUNREACHABLE が返されます。

ATMI 呼び出し

tperrno

エラーの詳細

tpcall

TPESVCERR

TPED_DOMAINUNREACHABLE

tpgetrply

TPESVCERR

TPED_DOMAINUNREACHABLE

tprecv

TPEEVENT TPEV_SVCERR

TPED_DOMAINUNREACHABLE


 

TPED_DOMAINUNREACHABLE 機能は、BEA Tuxedo Domains にのみ適用されます。Connect OSI TP Domains や Connect SNA Domains など、他のドメインの製品には適用されません。

TPED_INVALID_CERTIFICATE

関連付けられたデジタル証明書が無効なため、デジタル署名付きのメッセージを受信するプロセスがデジタル署名を確認できません。このエラーが発生するのは、デジタル証明書の期限が切れている場合、デジタル証明書を発行しているのが未知の認証局 (CA) である場合、デジタル証明書が変更されている場合などです。

このエラーによって呼び出しが異常終了されたときに、中間の ATMI 呼び出しを省略して引き続き tperrordetail() を呼び出すと、TPED_INVALID_CERTIFICATE が返されます。

TPED_INVALID_SIGNATURE

署名が無効なため、デジタル署名付きのメッセージを受信するプロセスがデジタル署名を確認できません。このエラーが発生するのは、メッセージが変更されている場合、デジタル署名のタイムスタンプが古すぎる場合、デジタル署名のタイムスタンプが極端に先のものである場合などです。

このエラーによって呼び出しが異常終了したときに、中間の ATMI 呼び出しを省略して引き続き tperrordetail() を呼び出すと、TPED_INVALID_SIGNATURE が返されます。

TPED_INVALIDCONTEXT

別のスレッドがコンテキストを終了すると、スレッドが ATMI 呼び出し内でブロックされます。具体的には、別のスレッドがコンテキストを終了するときに ATMI 呼び出し内でブロックされたスレッドは、異常終了とともに ATMI 呼び出しから返され、tperrno()TPESYSTEM に設定されます。中間の ATMI 呼び出しを省略して引き続き tperrordetail() を呼び出すと、TPED_INVALIDCONTEXT が返されます。

TPED_INVALID_XA_TRANSACTION

トランザクションを開始しようとしましたが、このドメインでは、NO_XA フラグがオンになっています。

TPED_NOCLIENT

クライアントが存在しません。tpnotify() 呼び出しに TPACK フラグが指定されているのに、tpnotify() のターゲットがありません。tpnotify() が異常終了すると、tperrno()TPENOENT に設定されます。中間の ATMI 呼び出しを省略して引き続き tperrordetail() 呼び出すと、TPED_NOCLIENT が返されます。

TPED_NOUNSOLHANDLER

クライアントに任意通知型ハンドラ・セットがありません。tpnotify() 呼び出しに TPACK フラグが指定され、tpnotify() のターゲットが BEA Tuxedo ATMI セッション内にあるのに、ターゲットに任意通知型の通知ハンドラが設定されていません。tpnotify() が異常終了すると、tperrno()TPENOENT に設定されます。中間の ATMI 呼び出しを省略して引き続き tperrordetail() を呼び出すと、TPED_NOUNSOLHANDLER が返されます。

TPED_SVCTIMEOUT

サーバは、サービスのタイムアウトにより終了しました。サービスのタイムアウトは、UBBCONFIG 中の SVCTIMEOUT 値によって制御されます。 T_SERVER および T_SERVICE クラスの TA_SVCTIMEOUTTM_MIB(5) に記載されています。このエラーよって呼び出しが異常終了したときは、中間の ATMI 呼び出しを省略して引き続き tperrordetail() を呼び出すと、TPED_SVCTIMEOUT が返されます。

TPED_TERM

ワークステーション・クライアントが、アプリケーションに接続していません。このエラーによって呼び出しが異常終了したときは、中間の ATMI 呼び出しを省略して引き続き tperrordetail() を呼び出すと、TPED_TERM が返されます。

エラー

異常終了時には、tperrordetail()tperrno() を次のいずれかの値に設定します。

[TPEINVAL]

flags はゼロに設定されていません。

関連項目

「C 言語アプリケーション・トランザクション・モニタ・インターフェイスについて」tpstrerrordetail(3c)tperrno(5)

 

先頭へ戻る 前のトピックへ 次のトピックへ