IDL编译器无法识别值类型

问题描述:

我正在使用IDL编译Java类。当我尝试编译时,它说它不识别valuetype。以下是编译命令,答案和相关代码:IDL编译器无法识别值类型

“C:\ Program Files文件\的Java \ jdk1.8.0_121 \ BIN \ idlj.exe” -fall StockMarket.idl

预计typedef'结构的一个” union'枚举 'const'异常' readonly'属性 'oneway'浮动' double'长 'short'无符号' char' WCHAR 'boolean'八位字节' any'字符串 'wstring' '::'无效' ValueBase'; encountered值类型'。 值类型StockInfo {

模块股市{

exception UnknownSymbol { 
    string symbol; 
}; 

typedef string StockSymbol; 

typedef sequence<StockSymbol> StockSymbolList; 

interface StockServer { 
    float getStockValue(in StockSymbol symbol) raises (UnknownSymbol); 

    StockSymbolList getStockSymbols(); 

    valuetype StockInfo { 
     public StockSymbol name; 
     public float value; 

     string toString(); 
    }; 

    sequence<StockInfo> getStockInfo(); 
}; 

};

+0

发布您正在编译的接口。 – duffymo

+0

我无法看到整个界面是如何必要的,但肯定。 – Hiken

显然,valuetypes的定义必须在接口之外。打败我,为什么。