Hitachi

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


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

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

〈この項の構成〉

(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表記文字列