Interstage Application Server アプリケーション作成ガイド (CORBAサービス編)
目次 索引 前ページ次ページ

第8章 アプリケーションの開発(OOCOBOL)> 8.2 クライアントアプリケーションのプログラミング(動的起動インタフェース)

8.2.6 リクエストの作成

 CORBA-OBJECT-CREATE_REQUESTメソッドにより、リクエストオブジェクトを作成します。リクエストオブジェクトに対して、サーバオブジェクトのオブジェクトリファレンス、NVListオブジェクトリファレンス、後述するNamedValueと呼ぶサーバの処理結果を格納する領域を指定します。結果として、リクエストオブジェクトが返されます。

   DATA DIVISION.
   WORKING-STORAGE        SECTION.
   01 RESULT-TYPE         OBJECT REFERENCE CORBA-TYPECODE.
   01 ANY-RESULT          OBJECT REFERENCE CORBA-ANY.
   01 NAMEDVALUE          OBJECT REFERENCE CORBA-NAMEDVALUE.
   01 EXCEPTIONLIST       OBJECT REFERENCE CORBA-EXCEPTIONLIST.
   01 TMP-EXCEP           TYPE             CORBA-EXCDESCRIPTIONSEQ.
   01 EX-DES              OBJECT REFERENCE CORBA-EXCEPTIONDESCRIPTION.
   01 EX-TYPE             OBJECT REFERENCE CORBA-TYPECODE.
   01 REQ                 OBJECT REFERENCE CORBA-REQUEST.

  PROCEDURE DIVISION.
* 復帰パラメタ
      SET RESULT-TYPE TO  RESULT OF OPE-DES.
      INVOKE CORBA-ANY "NEW" RETURNING ANY-RESULT
      INVOKE ANY-RESULT "SET-TYPE" USING RESULT-TYPE.
      SET CORBA-ARG_OUT OF FLG TO TRUE.
* 復帰パラメタ格納域
      INVOKE ORB "CREATE_NAMED_VALUE" USING      " "
                                                 ANY-RESULT
                                                 FLG
                                      RETURNING  NAMEDVALUE.
 * EXCEPTIONLIST
      INVOKE ORB "CREATE_EXCEPTION_LIST" USING EXCEPTIONLIST.
      SET TMP-EXCEP TO EXCEPTIONS OF OPE-DES.
      INVOKE TMP-EXCEP "GET-VALUE" USING 1 RETURNING EX-DES.
      SET EX-TYPE TO IDL-TYPE OF EX-DES.
      INVOKE EXCEPTIONLIST "ADD" USING EX-TYPE.
*  リクエストオブジェクトの生成
      INVOKE OBJ "CREATE_REQUEST" USING  NULL          *>CONTEXT
                                         "calculate"   *>メソッド名
                                         NVLIST        *>入力パラメタ
                                         NAMEDVALUE    *>復帰値
                                         EXCEPTIONLIST *>EXCEPTIONLIST
                                         NULL          *>CONTEXTLIST
                                         REQ.          *>リクエスト

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005