Hitachi

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


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

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

〈この項の構成〉

(1) IDLのサポート範囲

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

表2‒16 IDL定義のサポート範囲

IDL

備考

module定義

−

interface定義

継承定義は使用不可

operation定義

−

typedef定義

sequence型だけ

struct定義

−

exception定義

−

表2‒17 operation定義のサポート範囲

IDL

備考

in引数

−

out引数

−

inout引数

−

リターン値

−

raises定義

ユーザ例外は1つだけ

表2‒18 IDLデータ型のサポート範囲

IDL

備考

long

−

float

−

string

文字列長は指定不可

any

「(4) any型の扱い」を参照してください。

struct

−

sequence

配列サイズは指定不可

(2) 型変換

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

表2‒19 型変換が行われる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‒20 文字コード変換が行われる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‒21 type要素とvalue要素の指定値

Object WrapperのIDL

type要素の値

value要素の値

long

long

-2147483648から2147483647の数字

float

float

単精度の浮動小数点文字列

typedef sequence<octet>OctSeq

EComm2.OctSeq

単数・複数の文字

struct Binary

EComm2.Binary

base64Binary表記文字列