ページの先頭行へ戻る
Interstage Application Server リファレンスマニュアル(API編)
FUJITSU Software

1.6.5 CORBA_Request_get_response()

名前

CORBA_Request_get_response

形式

#include <orb.h>
CORBA_ORBStatus  CORBA_Request_get_response(
      CORBA_Request  req,
      CORBA_Flags  response_flags,
      CORBA_Environment  *env );
typedef  CORBA_Object  CORBA_Request;

機能説明

reqで指定したリクエストオブジェクトの処理結果を受け取ります。CORBA_Request_send()を呼び出した後に、この関数を呼び出すことにより、サーバアプリケーションの処理結果を取り出すことができます。

サーバアプリケーションの関数が終了していれば、リクエストオブジェクトに関連付けた出力パラメタや関数の戻り値は有効となります。

パラメタ

req

CORBA_Object_create_request()で返されるリクエストオブジェクトのオブジェクトリファレンス。

response_flag

以下のフラグが指定できます。

CORBA_RESP_NO_WAIT

サーバアプリケーションの関数が進行中であっても復帰します。
CORBA_RESP_NO_WAITを指定していないときは、サーバアプリケーションの関数が終了するまで呼び出し側は待たされます。
CORBA_RESP_NO_WAITを指定すると、サーバアプリケーションの関数が終わるのを待たずに呼び出し元に制御を返し、サーバアプリケーションの関数が終了したかどうかを復帰値として返します。

env

例外情報が格納される構造体。

復帰値

CORBA_RESP_NO_WAITを指定したとき、リクエストが正常終了した場合はCORBA_OKが、リクエストが未終了または異常終了した場合はCORBA_FAILEDが返されます。異常終了した場合は、env構造体に例外情報が設定されます。
CORBA_RESP_NO_WAITを指定していないとき、正常終了した場合はCORBA_OKが、異常終了した場合はCORBA_FAILEDが返されます。

注意事項

CORBA_Request_send()およびCORBA_send_multiple_requests()でオペレーションがonewayと定義されているか、またはinvoke_flagsにCORBA_INV_NO_RESPONSEフラグが指定されているときは、本APIを発行してはいけません。