名前
IDLc - IDLコンパイラ
形式
IDLc [-C]|-cpp|-cobol|-oocob|-java|-vcpp|-soap [-mss[SS]] [-MSV] [-MCL] [-factory]
[-a [-create|-update|-delete] |-R [-create|-update|-delete]] [-poa] [-tie]
[-lc] [-ls] [-noex] [-Idir] [-Dname] [-noinclude] [-dy] [-o prefix]
[-Sname] [-Tdir] [-mapinfo] [-f] [-nolog] [-unic] [-M system] [IDLfile]
機能説明
IDLcコマンドは、IDLfileで指定されたIDLファイルから、指定された言語(C言語、 C++言語、Java言語、COBOL、OOCOBOL、Visual C++用) にマッピングされたスタブ・スケルトンを作成します。IDLfileが省略されると、Foo.idlが指定されたものとみなします。なお、ファイル名は”XX.idl”(XXは任意、拡張子は小文字)とする必要があります。
また、IDLcコマンドは、IDLfileで指定されたIDLファイルからjava言語にマッピングされたCORBA/SOAPゲートウェイファイルを作成します。
以下に、IDLcコマンドのオプションを説明します。
排他関係にあるオプションが指定された場合は、後に指定されたものが有効となります。
[マッピング言語オプション]
マッピング言語を指定するオプションとして、以下のいずれかが指定可能です。いずれも指定しないと、-Cが指定されたものとみなされます。
C言語にマッピングされたスタブ・スケルトンなどのファイルを生成します。
C++言語にマッピングされたスタブ・スケルトンなどのファイルを生成します。
COBOLにマッピングされたスタブ・スケルトンなどのファイルを生成します。
OOCOBOL(オブジェクト指向COBOL)にマッピングされたスタブ・スケルトンなどのファイルを生成します。
Java言語にマッピングされたスタブ・スケルトンなどのファイルを生成します。
Visual C++用(Windows(R)用)にマッピングされたスタブ・スケルトンなどのファイルを生成します。
CORBA/SOAPゲートウェイのファイルを生成します。本オプションは、-MSVオプションと同時に指定することでCORBA/SOAPサーバゲートウェイファイルのみの生成、-MCLオプションと同時に指定することでCORBA/SOAPクライアントゲートウェイファイルのみの生成を行うことができます。また、-MSVおよび-MCLをいずれも指定していない場合、または両方とも指定した場合は、CORBA/SOAPサーバゲートウェイファイルおよびCORBA/SOAPクライアントゲートウェイファイルの両方が生成されます。
スタブ・スケルトンでマッピング言語を別の言語にする場合は、以下のオプションを指定します。
スタブと異なる言語のスケルトンを生成します。
ssには、スケルトンのマッピング言語として、c(C言語)、cpp(C++言語)、cobol(COBOL)、oocob(OOCOBOL)、java(Java言語)が指定可能です(注: vcpp(Visual C++言語)は指定できません)。スタブのマッピング言語は、上述のオプション (-C,-cpp,-cobol,-oocob,-java)に従います。
SSを指定すると、スケルトンファイル名のサフィックスを変更することができます。SSを省略すると、-mcのときはSS=c、-mcppのときはSS=cppが指定されたものとみなされます。-mcobol,-moocob,-mjavaのときSSは無効です。生成されるスタブ・スケルトンについては“生成ファイル名”を参照してください。
生成ファイル名
スタブ・スケルトンのファイルは、以下の名前で生成されます。
IDLファイル名をxx.idl、IDLファイル内で定義されているモジュールをMM、インタフェースをyy、データ型名をzzとします。
-m指定なし | -m指定あり | ファイル種別 | |
---|---|---|---|
スタブ・スケルトン | スタブ側 | スケルトン側 [SS暗黙値:c] | |
xx.h | xx.h | xx_cdr.h | 共通ヘッダファイル |
xx_cdr.h | xx_cdr.h | xx_cdr_SS.h | CDRヘッダファイル |
xx_cdr.c | xx_cdr.c | xx_cdr_SS.c | CDRソースファイル |
xx_stub.c | xx_stub.c |
| スタブファイル |
xx_skel.c |
| xx_skel.c | スケルトンファイル |
yy_skel.c |
| yy_skel.c | スケルトンファイル(-dy指定時) |
-m指定なし | -m指定あり | ファイル種別 | |
---|---|---|---|
スタブ・スケルトン | スタブ側 | スケルトン側 [SS暗黙値:cpp] | |
xx.H | xx.H | xx.H | 共通ヘッダファイル |
xx.h |
| xx_SS.h | 共通ヘッダファイル |
xx_cdr.h | xx_cdr.h | xx_SS_cdr.h | CDRヘッダファイル |
xx_cdr.c | xx_cdr.c | xx_SS_cdr.c | CDRソースファイル |
xx_c++.C | xx_c++.C | xx_c++.C | クラスメソッド定義ファイル |
xx_stub_c++.C | xx_stub_c++.C |
| スタブファイル |
xx_skel_c++.C |
| xx_skel_c++.C | スケルトンファイル |
yy_skel_c++.C |
| yy_skel_c++.C | スケルトンファイル(-dy指定時) |
-m指定なし | -m指定あり | ファイル種別 | |
---|---|---|---|
スタブ・スケルトン | スタブ側 | スケルトン側 | |
xx_cdr.cbl | xx_cdr.cbl | xx_cdr.cbl | CDRソースファイル |
xx_stub.cbl | xx_stub.cbl |
| スタブファイル |
xx_yy_skel.cbl |
| xx_yy_skel.cbl | スケルトンファイル |
xx_skel.cbl |
| xx_skel.cbl | 領域獲得用スケルトン(*1) |
xx_h.cbl | xx_h.cbl | xx_h.cbl | データ型定義ファイル(*2) |
-m指定なし | -m指定あり | ファイル種別 | |
---|---|---|---|
スタブ・スケルトン | スタブ側 | スケルトン側 | |
xx--REP.cbl | xx--REP.cbl | xx--REP.cbl | リポジトリ段落宣言用登録集 |
xx--CONST.cbl | xx--CONST.cbl | xx--CONST.cbl | 定数宣言用登録集 |
xx—COPY.cbl | xx--COPY.cbl | xx--COPY.cbl | TYPEDEF型宣言用登録集 |
yy.cob | yy.cob | yy.cob | インタフェースファイル |
yy—helper.cob | yy--helper.cob | yy--helper.cob | Helperクラスファイル |
yy—stub.cob | yy--stub.cob |
| スタブクラスファイル |
yy--NarrowStub.cob | yy--NarrowStub.cob |
| Narrowスタブファイル |
yy--NarrowSkel.cob |
| yy--NarrowSkel.cob | Narrowスケルトンファイル |
yy--tie.cob |
| yy--tie.cob | tieクラスファイル |
yy--NEW.cob |
| yy--NEW.cob | インプリメンテーション登録ファイル |
zz.cob | zz.cob | zz.cob | データ型クラスファイル(*4) |
zz—helper.cob | zz--helper.cob | zz--helper.cob | データ型Helperファイル(*4) |
-m指定なし | -m指定あり | ファイル種別 | |
---|---|---|---|
スタブ・スケルトン | スケルトン側 | スタブ側 | |
MM/yy.java | MM/yy.java | インタフェースクラスファイル | |
MM/yyOperations.java | MM/yyOperations.java | インタフェースOperationsファイル | |
MM/yyHelper.java | MM/yyHelper.java | Helperクラスファイル | |
MM/yyHolder.java | MM/yyHolder.java | Holderクラスファイル | |
MM/_yyStub.java | MM/_yyStub.java | スタブクラスファイル | |
MM/yyPOA.java |
| スケルトンクラスファイル | |
MM/yyPOATie.java |
| tieクラスファイル | |
MM/yyPackage/zz.java | MM/yyPackage/zz.java | データ型クラスファイル | |
MM/yyPackage/zzHelper.java | MM/yyPackage/zzHelper.java | データ型Helperファイル | |
MM/yyPackage/zzHolder.java | MM/yyPackage/zzHolder.java | データ型Holderファイル |
-m指定なし | -m指定あり | ファイル種別 | |
---|---|---|---|
スタブ・スケルトン | スタブ側 | スケルトン側 | |
xx.h | xx.h |
| 共通ヘッダファイル |
xx_cdr.h | xx_cdr.h |
| CDRヘッダファイル |
xx_cdr.cpp | xx_cdr.cpp |
| CDRソースファイル |
xx_c++.cpp | xx_c++.cpp |
| クラスメソッド定義ファイル |
xx_stub.cpp | xx_stub.cpp |
| スタブファイル |
xx_skel.cpp |
|
| スケルトンファイル |
yy_skel.cpp |
|
| スケルトンファイル(-dy指定時) |
(*1) 基本データ型以外のIDL定義に対する領域獲得用関数が組み込まれます。基本データ型のみでは、作成されません。
(*2) スタブ・スケルトンで使用されるデータ型を定義したファイルです。
(*3) yy(インタフェース名), zz(データ型名)はフルスコープになります。
(*4) 以下の宣言に対してファイル生成されます。
typedef,string(サイズ指定あり),wstring(サイズ指定あり),
enum,sequence,struct,union,fixed,exception
(*5) Java言語マッピングでは、IDL構造に対応したディレクトリ構成(Javaパッケージ)が生成され、ファイルが配置されます。表中の<module名>はIDLファイル内で定義したmodule名です。
データ定義(zz)内に別のデータ定義がある場合は、zzPackageの名前でさらにサブディレクトリが生成され、その配下に新たなデータ定義に関するクラスファイルが格納されます。
[SOAPオプション]
CORBA/SOAPサーバゲートウェイファイルを生成します。本オプションは、-soapオプションと同時に指定する必要があります。
CORBA/SOAPクライアントゲートウェイファイルを生成します。本オプションは、-soapオプションと同時に指定する必要があります。
CORBA-Factoryインタフェース連携用CORBA/SOAPゲートウェイファイルを生成します。本オプションは、-soapオプションと同時に指定する必要があります。
SOAPオプション指定時の生成ファイル
-soapオプションを指定した場合は、Java言語で出力されるファイル以外にCORBA/SOAPゲートウェイファイルとして以下のファイルが生成されます。ファイルの配置は、IDL構造に対応したディレクトリ構成(Javaパッケージ)であり、表中の<module名>はIDLファイル内で定義したmodule名です。
データ定義(zz)内に別のデータ定義がある場合は、zzPackageの名前でさらにサブディレクトリが生成され、その配下に新たなデータ定義に関するクラスファイルが格納されます。
-MSV、-MCL指定なし | -MSV指定あり | -MCL指定あり | ファイル種別 |
---|---|---|---|
MM/_yySOAPGWstub.java |
| CORBA/SOAPサーバゲートウェイファイル | |
MM/_yySOAPGWstubif.java |
| ||
MM/_yySOAPGWServant.java |
| MM/_yySOAPGWServant.java | CORBA/SOAPクライアントゲートウェイServantファイル |
MM/_yySOAPGW_dd.xml |
| SOAPディプロイ情報ファイル | |
MM/yyPackage/zzSOAPGWType.java | SOAPデータ型クラスファイル | ||
MM/yyPackage/zzSOAPEnumImpl.java | SOAP Enum型クラスファイル |
[動作モードオプション]
スタブ・スケルトン生成とインタフェースリポジトリ登録を行うかを指定するオプションとして、-a,-Rのいずれかが指定可能です。どちらも指定しないと、スタブ・スケルトンの生成だけを行い、インタフェースリポジトリへの登録は行いません。
スタブ・スケルトンを生成し、インタフェース情報をインタフェースリポジトリに登録します。-create,-update,-deleteのいずれかと組み合わせて指定します。
インタフェース情報のインタフェースリポジトリへの登録だけを行い、スタブ・スケルトンの生成は行いません。-create,-update,-deleteのいずれかと組み合わせて指定します。
[インタフェースリポジトリ登録オプション]
-create,-update,-deleteのいずれかが指定可能です。いずれも指定されない場合は、-createが指定されたものとみなされます。上述した動作モードオプションで動作モードを指定する必要があります。
インタフェース情報をインタフェースリポジトリに登録します。すでに同じ識別子が登録されているとエラーとなり、現在の作業を無効にします。
インタフェース情報をインタフェースリポジトリに登録します。すでに同じ識別子が登録されていると、インタフェース情報を更新します。IDLファイルを変更した場合には、このオプションを指定する必要があります。
インタフェース情報をインタフェースリポジトリから削除します。登録されていない識別子があるとエラーとなります。
IDLファイルを変更し、すでにインタフェースリポジトリに登録済みのIDL定義情報を変更または削除する場合は、変更前のIDLファイル(インタフェースリポジトリ登録時のIDLファイル)を使用し、-deleteオプションで登録内容をいったん削除した後、変更したIDLファイルを使用して再度登録する必要があります。
[スタブ・スケルトン生成モードオプション]
IDLcで生成されたスタブとスケルトンを結合し、1つのモジュールを作成するときに指定します。通常は、XX_alloc関数(基本データ型以外のデータ型に対する領域獲得関数)がスタブ・スケルトン両方に作成されますが、一方だけに作成するか、どちらにも作成しない場合にこのオプションを指定します。詳細については、“アプリケーション作成ガイド(CORBAサービス編)”(Interstage Application Server Enterprise Editionで提供)の“データ型に対するマッピング”(各言語)を参照してください。
-ls スケルトンだけに作成
-lc スタブだけに作成
-ls -lc どちらにも作成しない
マッピング言語がC(-C,-mc),COBOL(-cobol,-mcobol)のときに有効です。マッピング言語がC++(-cpp)のときはC++コンパイラの実行時に"-D_MULTI_LINK_"を指定することで、マッピング言語がVisual C++用(-vcpp)のときは”_MULTI_LINK_”マクロを指定することで、スタブ・スケルトンを結合できます(この場合、スケルトンの領域獲得関数が無効になります)。
例外処理をCORBA::Environment方式で生成します。省略すると、try~catch方式の例外処理となります。マッピング言語がC++(-cpp,-mcpp)のときに有効です。
TIEクラス方式でファイルを生成します。省略すると、implクラス方式で生成します。マッピング言語がC++(-cpp,-mcpp)、Visual C++(-vcpp)のときに有効です。
TIEクラス方式については、“アプリケーション作成ガイド(CORBAサービス編)”(Interstage Application Server Enterprise Editionで提供)の“サーバアプリケーションのプログラミング(Basic Object Adapter:BOA)”-“静的スケルトンインタフェース”-“インタフェース実装関数”を参照してください。
マッピング言語がC++(-cpp,-mcpp)またはVisual C++(-vcpp)の場合に、POA(Portable Object Adapter)方式のファイルを生成します。省略すると、BOA(Basic Object Adapter)方式で生成します。
POA方式については、“アプリケーション作成ガイド(CORBAサービス編)”(Interstage Application Server Enterprise Editionで提供)の“サーバアプリケーションのプログラミング(Portable Object Adapter:POA)”を参照してください。
[その他のオプション]
#include文で指定したファイルを検索対象ディレクトリにdirを追加します。本オプションは複数指定可能で、その場合は指定された順にディレクトリを検索します。
マクロnameを定義します。IDLファイルの先頭に、"#define name val"があるのと同じ意味を持ちます。"=val"が省略されると、"#define name"と同じ意味を持ちます。
#include文で指定されたファイルをマッピングしません。なお、-create,-deleteとは併用できません。削除する場合は、一度、"-R -delete"でインタフェースリポジトリから削除する必要があります。マッピング言語がC,C++,COBOL,Visual C++のときに有効です。
スケルトンファイルをインタフェース定義ごとに生成します。本オプションは、サーバアプリケーションをライブラリ形式とする場合に指定します。スケルトンのマッピング言語がCOBOL,OOCOBOLのときは常に有効となります。ファイル名については“生成ファイル名”を参照してください。
xx.idlから生成されたファイルの名前のxxをprefixに変更します。マッピング言語がJavaのときは無効となります。
関数名の先頭にnameを付加します。スケルトンのマッピング言語がCのときに有効です。本オプションを指定した場合、OD_impl_instコマンドでサーバアプリケーション情報を登録する際に、オブジェクト(インタフェースリポジトリID)に対するprefixを指定してください。
コンパイラの作業用ファイルの作成位置を指定します。(省略時:環境変数TEMPまたはTMPの設定値)
マッピング情報ファイルを作成します。マッピング言語がOOCOBOL(-oocob)のときに有効です。マッピング情報ファイルについては、“マッピング情報ファイル”を参照してください。
インタフェース情報とスタブの不一致検出機能を有効とします。本オプションは、マッピング言語がOOCOBOL言語以外の場合に有効です。
なお、本オプションを指定した場合は、コンパイラの実行時間が多少長くなります。コンパイラが失敗する場合は、クライアントにサーバメソッドが復帰するまでの待機時間(configファイルのperiod_receive_timeoutパラメタ)を大きく設定してください。
CORBAサービスのログ採取機能・トレース採取機能を無効とします。本オプションを指定した場合、スタブ・スケルトンでログ・トレース情報を採取しません。
UNICODE用のマッピングを出力します。本オプションは、NetCOBOL環境でマッピング言語がOOCOBOLの場合に有効です。
コード系に“UNICODE”を設定しているOOCOBOOLアプリケーションを作成する場合は、必ず本オプションを指定してください。
拡張システムを生成した場合に、運用の対象となるシステム名systemを指定します。本オプションを省略すると、デフォルトシステムでの運用が対象となります。
本オプションは、以下の製品で指定可能です。
- Interstage Application Server Enterprise Edition
マッピング情報ファイル
マッピング情報ファイルは、IDLファイルで宣言されたインタフェース情報、データ型情報、ユーザ例外情報のクラス名を出力するファイルです(ファイル名:IDLファイルの"idl"を"inf"に置き換えた名称)。IDLcコマンドでは、クラス名が30文字を超えると一部が省略されるため、省略後のクラス名を確認する際にこのファイルを使用します。アプリケーションプログラムでクラス名を指定したり、コンパイラ実行時にリンクするファイル名を指定する場合には、このファイルに記述されたものを使用してください。
項番 | タグ名 | 内容 | 名称 | 用途 |
---|---|---|---|---|
1 | <interface>~</interface> | インタフェース情報(*1) | - | - |
2 | <typedef>~</typedef> | データ型情報(*1) | - | - |
3 | <exception>~</exception> | ユーザ例外情報(*1) | - | - |
4 | <map name="a" type="b">~</map> | 各宣言に対するマッピング情報(*2) | - | - |
5 | <name>~</name> | データ型名 | - | - |
6 | <class>~</class> | クラス名 | - | *3 |
7 | <class-file>~</class-file> | クラスファイル名 | クラス名.cob | *4 |
8 | <helper>~</helper> | Helperクラス名 | クラス名--H/ | *3 |
9 | <helper-file>~</helper-file> | Helperクラスファイル名 | クラス名--helper.cob/ | *4 |
10 | <stub>~</stub> | スタブクラス名 | クラス名--S | *3 |
11 | <stub-file>~</stub-file> | スタブクラスファイル名 | クラス名--stub.cob | *4 |
12 | <narrow-stub>~</narrow-stub> | Narrowスタブファイル名 | クラス名--NarrowStub.cob | *4 |
13 | <narrow-skel>~</narrow-skel> | Narrowスケルトンファイル名 | クラス名--NarrowSkel.cob | *4 |
14 | <new-impl>~</new-impl> | インプリメンテーション登録ファイル名 | クラス名--NEW.cob | *4 |
15 | <tie>~</tie> | tieクラス名 | クラス名--T | *3 |
16 | <tie-file>~</tie-file> | tieクラスファイル名 | クラス名--tie.cob | *4 |
*1) 項番4の情報を含む
*2) 項番5以降の情報を含む
*3) アプリケーションプログラムに指定するクラス名
*4) コンパイラ実行時にリンクするファイル名
注) 対象となるIDL宣言とその種別(type)を以下に示します。
宣言 | 種別(type) |
---|---|
interface | interface |
typedef | typedef |
exception | exception |
struct(固定長) | struct-fixed |
struct(可変長) | struct-variable |
union | union |
enum | enum |
sequence | sequence |
string(サイズ指定あり) | string |
wstring(サイズ指定あり) | wstring |
fixed | fixed |
注意事項
IDLファイルのサフィックス”idl”は、小文字である必要があります。ftpコマンドを使用して移入した場合などで大文字になっている場合は、小文字に変名後にIDLcコマンドを実行してください。
IDLcコマンドは、以下の単語をキーワードとして使用するので、IDLファイル作成時にはこれらの単語は使用してはいけません。
cdr, con, env, failed, method, object, reply_status, request, response_expected, result, type
IDLcコマンドを[ctrl]+[c]などで強制終了すると、作業用ファイル(-Tオプションの指定値の配下に生成)が残ることがあります。この場合は、以下のファイル(格納パスはデフォルト)を削除してください。
Windows(R):<Windows(R)システムフォルダ>\temp\IDLc.*
Solaris/Linux:/tmp/IDLc.*
"-"ではじまらないパラメタはIDLファイル名として扱われます。
C,C++マッピングでは、シーケンス型を継承元とする宣言を行った場合、コンパイル時にtypedefの二重定義の警告メッセージが表示されますが、問題ありません。
複数のコマンド入力画面やクライアントから、同一のIDL定義に対するインタフェースリポジトリへの登録または更新は、同時に行わないでください。
Javaマッピングにおいて、JDK1.4以降でアプリケーションを開発する場合は、必ずモジュール宣言内にIDL定義を行ってください。モジュール宣言外にIDL定義がある場合は、Javaコンパイラでエラーが発生します。
本コマンドを実行すると、/usr/ccs/lib/cppを使用するため、OSインストール時のインストールモードとして"開発者システムサポート"以上を指定してください。
アプリケーション開発時の必須ソフトウェアがインストールされている必要があります。
本製品をインストールした環境によって、本コマンドの利用権限が変わる場合があります。詳細は、“1.3 利用権限について ”を参照してください。
エラーメッセージ
[コンパイル時のエラーメッセージ]
Can't open file :n
エラー
ファイルfileがオープンできません。
システムエラー番号: n
Read failed file
エラー
fileからの読み込みに失敗しました。
Write failed file
エラー
fileへの出力に失敗しました。
MALLOC:name: n Bytes: Not enough memory
エラー
メモリが不足しているため、nameのnバイトの領域を獲得できません。
Syntax error:string
エラー
stringの定義には構文の誤りがあります。または、stringで示す内容の誤りがあります。
Structure member redeclaration of name
エラー
構造体メンバnameが再定義されました。
Union-switch member redeclaration of name
エラー
共用体でunion-switchメンバnameが再定義されました。
Duplicate case in union-switch, label
エラー
共用体でunion-switchに同じlabelのcaseが定義されました。
Out of array dimension
エラー
配列の次元が範囲外です。
Identifier redeclaration of name
エラー
識別子nameが再定義されました。
Illegal scoping name
エラー
nameはスコープで使用する名称として正しくありません。
name undefined data type
エラー
nameはデータ型として定義されていません。
name is not data type
エラー
nameはデータ型ではありません。
Illegal union-switch data type, name
エラー
nameはunion-switchデータ型として正しくありません。
Identifier too long.max(n)
エラー
識別子の長さが既定値を超えています。最大長は(n)です。
name undefined exception
エラー
nameは例外定義されていません。
name is not exception
エラー
nameは例外定義ではありません。
Warning:duplicate raises name exception
警告
Raises句でname例外を二重定義しています。
name undefined interface
エラー
nameはインタフェース定義されていません。
name is not interface
エラー
nameはインタフェースではありません。
Warning: duplicate inheritance name interface
警告
nameインタフェースが二重に継承されています。
name undefined constant
エラー
nameは定数定義されていません。
name is not constant
エラー
nameは定数ではありません。
Illegal constant type, name
警告
nameは定数型として正しくありません。
Warning:operator operator, out of range
警告
シフト演算子operatorの右の引数がとりうる範囲を超えています。
Operator operator, division by zero
エラー
演算子operatorの2番目の式がゼロです。
Overflow, Floating point value
エラー
浮動小数点値がオーバーフロー。
Bad assignment values, type1 : type2
エラー
type1とtype2の型が異なるため割り当てられません。
Warning:overflow signed long
警告
サイン付きlongがオーバーフロー。
Illegal expression, type
エラー
typeが例外定義として正しくありません。
Syntax error hexadecimal, string
エラー
stringに16進数で指定できない文字が指定されました。
Syntax error octal, string
エラー
stringに8進数で指定できない文字が指定されました。
Undefined escape character, string
エラー
stringはエスケープ文字として定義されていません。
Unsupported multiple sourcefile
エラー
IDLファイルが複数指定されています。
Positive-integer constant only
エラー
正の整数定数しか指定できません。
Ambiguous variable usege
エラー
該当する変数宣言が不明です。
Can't close "file-name"
エラー
"file-name"ファイルがクローズできません。
REALLOC:"name" : n Bytes
エラー
"name"領域nバイトのメモリ獲得に失敗しました。
CORBA_ORB_init ERROR
エラー
CORBAサービス(ObjectDirector)が起動されていません。
CORBA_ORB_BOA_init ERROR
エラー
CORBAサービス(ObjectDirector)が起動されていません。
can't make temp list
エラー
資源不足のため、作業ファイルが作成できません。
Unsupported data type : "type"
エラー
定義された"type"は未サポートです。
Directory Create Failed : "name"
エラー
Javaマッピングでクラスを格納するディレクトリが作成できません。
[その他のメッセージ]
IDLcコマンドが言語マッピングを行う場合に、インタフェースリポジトリおよびネーミングサービスを使用する際に、環境設定ミスや通信エラーなどによりIDLファイルのコンパイルに失敗した場合、以下の形式でエラーメッセージを表示します。
処理フェーズ(I/R):処理名・関数名
IDL:例外コード
IDLc: Stop.処理フェーズ status = 終了ステータス.
IDLparser: IDLファイルの構文解析
IDLcg: Cマッピング処理
IDLcppg: C++およびVisual C++マッピング処理
IDLjavacg: javaマッピング処理
IDLcobolcg: COBOLマッピング処理
IDLoocobcg: OOCOBOLマッピング処理
IDLinst: インタフェースリポジトリへの登録、変更、削除処理
IDLSOAPcg: CORBA/SOPAゲーウェイマッピング処理
destory_rep: 終了処理
IDLcコマンドのエラー検出箇所を特定する情報が表示されます。
システム例外として、以下の例外コードが通知されます。
IDL:CORBA/StExcep/UNKNOWN:1.0
未知の例外です。
IDL:CORBA/StExcep/BAD_PARAM:1.0
パラメタが不正です。
IDL:CORBA/StExcep/NO_MEMORY:1.0
メモリ不足を検出しました。
IDL:CORBA/StExcep/IMP_LIMIT:1.0
起動するサーバアプリケーションの限界数に達しました。
IDL:CORBA/StExcep/COMM_FAILURE:1.0
通信エラー。
インタフェースリポジトリサービスと通信できません。
IDL:CORBA/StExcep/INV_OBJREF:1.0
オブジェクトリファレンスが無効です。
IDL:CORBA/StExcep/NO_PERMISSION:1.0
メソッドの実行権限がありません。
IDL:CORBA/StExcep/INTERNAL:1.0
CORBAサービス(ObjectDirector)の内部エラーです。
IDL:CORBA/StExcep/MARSHAL:1.0
パラメタ、結果のマーシャリングエラーです。
IDL:CORBA/StExcep/INITIALIZE:1.0
CORBAサービス(ObjectDirector)の初期化に失敗しました。
IDL:CORBA/StExcep/NO_IMPLEMENT:1.0
インタフェースリポジトリサービスが起動されていません。
IDL:CORBA/StExcep/BAD_TYPECODE:1.0
タイプコードが不正です。
IDL:CORBA/StExcep/BAD_OPERATION:1.0
オペレーションが無効です。
IDL:CORBA/StExcep/NO_RESOURCES:1.0
リクエストに対して十分なリソースがありません。
IDL:CORBA/StExcep/NO_RESPONSE:1.0
インタフェースリポジトリサービスからの応答がありません。
IDL:CORBA/StExcep/PERSIST_STORE:1.0
永続的な蓄積の失敗です。
IDL:CORBA/StExcep/BAD_INV_ORDER:1.0
ルーチンの呼び出しが正常ではありません。
IDL:CORBA/StExcep/TRANSIENT:1.0
遷移中のエラー、リクエストを再発行します。
IDL:CORBA/StExcep/FREE_MEM:1.0
メモリ解放に失敗しました。
IDL:CORBA/StExcep/INV_IDENT
識別子のシンタックスが無効です。
IDL:CORBA/StExcep/INV_FLAG:1.0
フラグが無効です。
IDL:CORBA/StExcep/INTF_REPOS:1.0
インタフェースリポジトリのアクセスエラーです。
IDL:CORBA/StExcep/CONTEXT:1.0
コンテキストオブジェクトのエラーです。
IDL:CORBA/StExcep/OBJ_ADAPTER:1.0
オブジェクトアダプタのエラーです。
IDL:CORBA/StExcep/DATA_CONVERSION:1.0
データ変換のエラーです。
環境設定ミスなどで発生するシステム例外とその対処方法を以下に示します。
IDL:CORBA/StExcep/NO_MEMORY:1.0
[原因]
システムのメモリ不足を検出しました。
[対処]
メモリ、スワップ領域を増設します。
IDL:CORBA/StExcep/COMM_FAILURE:1.0
[原因]
以下の原因でインタフェースリポジトリサービスとの通信に失敗しました。
サーバマシンで電源投入されていない、またはCORBAサービス未起動のため、サーバとの通信ができません。
irconfigのir_timeout(暗黙値:1800秒)内にインタフェースリポジトリの処理が完了しませんでした。
サーバへの処理要求数がconfigのmax_IIOP_resp_con(暗黙値:8)を超えました。
ネットワーク環境に異常が発生しました。
inithost/initial_hostsファイルの設定に誤りがあります。
valueインタフェース用インタフェースリポジトリサービスが起動されていません。(EJBアプリケーション開発時)
[対処]
それぞれの対処は以下のとおりです。
サーバマシンの電源を投入し、インタフェースリポジトリのサーバを起動してください。
irconfigのir_timeoutの設定値を大きくして、インタフェースリポジトリを再起動してください。
configのmax_IIOP_resp_conを大きくして、CORBAサービスを再起動してください。
ネットワーク環境をチェックし問題があれば修復します。
inithost/initial_hostsファイルを確認してください。
EJBアプリケーション開発時には、Interstage初期化処理でEJBオプションを指定してください。
注) b)の対処後、インタフェースリポジトリサービスの起動に失敗する場合があります。出力されたメッセージを確認して対処してください。メッセージの詳細については、“メッセージ集”を参照してください。
IDL:CORBA/StExcep/NO_IMPLEMENT:1.0
[原因]
インタフェースリポジトリのサーバが未起動です。
[対処]
インタフェースリポジトリのサーバを起動します。起動に失敗する場合は、環境設定を見直し再度起動します。EJBアプリケーション開発時には、Interstage初期化処理でEJBオプションを指定してください。
IDL:CORBA/StExcep/NO_RESOURCES:1.0
[原因]
インタフェースリポジトリサービスを呼び出すためのオブジェクトの生成ができません。
または、同一のインプリメンテーションIDのサーバが起動済です。
[対処]
しばらく待ってから再試行します。または同一のインプリメンテーションIDのサーバの停止、インプリメンテーションIDの見直しを行います。
2: シンタックスエラー
3: 未サポートの処理が呼ばれた
4: その他のエラーを検出した
使用例
マクロDEBUG=1として、sample.idlをコンパイルします。作業用ファイルは、-Tオプションに指定したディレクトリに作成されます。
IDLc -DDEBUG -TC:\tmp1 sample.idl |
IDLc -DDEBUG -T/tmp1 sample.idl |
IDLファイルFoo.idl (デフォルト)をコンパイルします。インクルードファイルは、-Iオプションに指定したディレクトリから検索されます。インタフェースリポジトリへの登録は、行いません。
IDLc -IC:\home\ORB\include\IDL |
IDLc -I/home/ORB/include/IDL |