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

第4章 アプリケーションの開発(C言語)> 4.2 クライアントアプリケーションのプログラミング(動的起動インタフェース)

4.2.6 リクエストの送信

 サーバアプリケーションに対してリクエストを出します。リクエストの方法として、同期送信と非同期送信の2つの方法があります。

(1)同期送

 CORBA_Request_invoke()により、サーバアプリケーションを呼び出します。パラメタとして、リクエストオブジェクトのオブジェクトリファレンスを指定します。

  CORBA_Request_invoke( request, NULL, &env );

 サーバアプリケーションの処理結果は、CORBA_NVList_add_item()で設定したCORBA_NVListオブジェクト(本例ではarg_list)に格納されます。

(2)非同期送

 CORBA_Request_send()により、サーバアプリケーションを呼び出します。パラメタとして、リクエストオブジェクトのオブジェクトリファレンスを指定します。サーバアプリケーションの処理結果は、CORBA_Request_get_response()により受け取ります。パラメタとして、リクエストオブジェクトのオブジェクトリファレンスを指定します。

  CORBA_Request_send( request,            /* 処理の要求 */
      (CORBA_Flags) NULL, &env ); 
     ... 
  if ( CORBA_Request_get_response(        /* 処理結果の受け取り */
      request, 
      CORBA_RESP_NO_WAIT, 
      &env ) == CORBA_OK ) {              /* ユーザ指定の処理 */
          ..... 
  }

 CORBA_Request_get_response()の結果により、サーバアプリケーションからリクエストが完了していないことが判明した場合、再度CORBA_Request_get_response()を呼び出します。
 サーバアプリケーションの処理結果は、CORBA_NVList_add_item()で設定したCORBA_NVListオブジェクト(本例ではarg_list)に格納されます。


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

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