Cosminexus V9 BPM/ESB基盤 サービスプラットフォーム 解説

[目次][用語][索引][前へ][次へ]

2.9.2 接続時の電文の形式変換

Object Accessアダプタのサービスリクエスタとのインターフェースで使用する電文には,要求電文と応答電文(Fault情報を含む)があります。Object Wrapperで使用するIDLおよびObject WrapperのIDLと電文の形式変換について次に示します。

<この項の構成>
(1) IDLのサポート範囲
(2) 型変換
(3) 文字コード変換
(4) any型の扱い

(1) IDLのサポート範囲

Object AccessアダプタがサポートしているIDLを次に示します。

表2-14 IDL定義のサポート範囲

IDL 備考
module定義
interface定義 継承定義は使用不可
operation定義
typedef定義 sequence型だけ
struct定義
exception定義

表2-15 operation定義のサポート範囲

IDL 備考
in引数
out引数
inout引数
リターン値
raises定義 ユーザ例外は1つだけ

表2-16 IDLデータ型のサポート範囲

IDL 備考
long
float
string 文字列長は指定不可
any (4) any型の扱い」を参照してください。
struct
sequence 配列サイズは指定不可

(2) 型変換

Object WrapperのIDLの定義型と電文で扱う型情報で変換する内容を次に示します。

表2-17 型変換が行われるIDL型

Object WrapperのIDL 電文
typedef sequence<octet> OctSeq xsd:string
struct Binary xsd:base64Binary

(3) 文字コード変換

Object WrapperのIDLに定義したstring型は,SJISコードとして扱います。文字コード変換の対象には,型変換でstring型に変換される「typedef sequence<octet> OctSeq」を含みます。文字コード変換対象の,Object WrapperのIDLを次に示します。

表2-18 文字コード変換が行われるIDL型

Object WrapperのIDL 電文
method_name xsd:string
typedef sequence<octet> OctSeq xsd:string

(4) any型の扱い

Object AccessアダプタでIDLのCORBA.Anyは,単純型(primitive型)と複合型(complex型)のsequence<octet>の値が扱えます。

CORBA.Anyの電文での表現,および電文の各要素に指定できる値を次に示します。

   

表2-19 type要素とvalue要素の指定値

Object WrapperのIDL type要素の値 value要素の値
long long -2147483648から2147483647の数字
float float 単精度の浮動小数点文字列
typedef sequence<octet>OctSeq EComm2.OctSeq 単数・複数の文字
struct Binary EComm2.Binary base64Binary表記文字列