Cosminexus ビジネスプロセス管理/エンタープライズサービスバス V8 サービスプラットフォーム 開発ガイド

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

10.8.1 要求電文の形式

要求電文は,XML文書形式で作成します。

要素,属性およびテキストデータは,W3CのXMLの仕様に従って指定します。XML文書で使用できない「<」,「>」,「&」などの文字を使用する場合,エスケープするか,CDATAセクションを利用する必要があります。

<この項の構成>
(1) 要求電文の形式
(2) 要求電文の要素と属性

(1) 要求電文の形式

要求電文の形式は,単一のSQL文の実行を要求する場合と,複数のSQL文の実行を要求する場合とで異なります。

要求電文の形式を次に示します。なお,斜体の文字は可変値を表します。

単一のSQL文の実行を要求する場合
ルート要素(DBadapter要素)の下位要素としてSQL識別子要素を記述します。記述できるSQL識別子要素の数は,一つだけです。
 
<DBadapter>
  <SQL識別子 out_maxOccurs="検索結果出力最大件数">
    <DBA_IN_DATA>
      <引数要素 nulldata="空要素の扱い">引数要素のデータ</引数要素>
        :
    </DBA_IN_DATA>
  </SQL識別子>
</DBadapter>
 

複数のSQL文の実行を要求する場合
ルート要素(DBadapter要素)の下位要素としてDBA_MULTI_SQL要素を記述します。複数のDBA_MULTI_SQL要素を記述できます。記述できる数は,SQLオペレーション定義ファイルのMAX_SQL_NO要素に設定した値以下です。
 
<DBadapter>
  <DBA_MULTI_SQL>
    <SQL識別子 out_maxOccurs="検索結果出力最大件数">
      <DBA_IN_DATA>
        <引数要素 nulldata="空要素の扱い">引数要素のデータ</引数要素>
          :
      </DBA_IN_DATA>
    </SQL識別子>
  </DBA_MULTI_SQL>
    :
</DBadapter>
 

(2) 要求電文の要素と属性

要求電文の要素と属性について次の表に示します。なお,要素および属性の指定は,SQLオペレーション定義ファイルの設定値に依存します。SQLオペレーション定義ファイルについては「4.3.5(1) SQLオペレーション定義ファイルの作成」を参照してください。

表10-22 要求電文の要素と属性(DBアダプタ用のサービスリクエスタ)

要素名・属性名 種別 内容と設定値 設定値の型 省略可否
DBadapter 要素 ルート要素です。次の下位要素があります。

単一SQL文の実行要求の場合
下位要素はSQL識別子要素です。

複数SQL文の実行要求の場合
下位要素はDBA_MULTI_SQL要素です。
×
DBA_MULTI_SQL 要素 サービスリクエスタからの要求が,複数のSQL文を実行する要求であることを示す要素です。SQL識別子以降の下位要素で入力情報を設定します。
SQLオペレーション定義ファイルのMAX_SQL_NO要素に設定した値以内で複数記述できます。

単一のSQL文の実行を要求する場合,この要素は記述できません。
SQL識別子 要素 SQL識別子にはSQLオペレーション定義ファイルで指定したSQL識別子の名称を指定します。
DBA_IN_DATA以降の下位要素で,入力情報を設定します。
属性にout_maxOccursがあります。
 out_maxOccurs 属性 検索結果出力最大件数を指定します。0以上の値を指定します。

省略した場合
SQLオペレーション定義ファイルで指定したout_maxOccursの値が設定されます。

「0」を設定した場合
最大件数が2,147,483,647件に設定されます。
xsd:int
DBA_IN_DATA 要素 引数要素以降の下位要素で,SQLオペレーション定義ファイルで設定した引数要素のデータを設定します。 ×
引数要素 要素 引数要素にはSQLオペレーション定義ファイルで指定した引数要素の名称を指定します。
この要素には,SQLオペレーション定義ファイルで指定した引数要素のデータが格納されます。
属性にnulldataがあります。

SQLオペレーション定義ファイルの設定で,該当するSQL識別子に引数要素がない場合,この要素は設定できません。
xsd:stringまたはdata_typeの設定値 ×
 nulldata 属性 SQLオペレーション定義ファイルで指定したdba_inf(引数の種別)が「data」の場合に,空要素のデータを「null」として扱うかどうかを指定します(dba_infが「data」以外の場合は,指定できません)。

「null」として扱う場合
「"Y"」を指定します。

「null」として扱わない場合
「"N"」を指定します。
なお,省略した場合,この属性には「"N"」が設定されます。
xsd:string
{Y|N}

(凡例)
−:設定値はありません。
○:省略できます。
×:省略できません。

注※
格納する引数要素の型は,SQLオペレーション定義ファイルで,該当する引数要素に指定したdba_inf(引数の種別)によって異なります。dba_infがtable,columnまたはpresetの場合,xsd:string型になります。dba_infがdataの場合,data_type(データ型)の設定値に従ってください。data_typeの設定値と引数要素の型の対応については,「表10-23」および「表10-24」を参照してください。
また,dba_infがdataの場合,引数要素に格納するデータをシングルクォーテーション(')で囲む必要はありません。

表10-23 data_typeの設定値と引数要素の型の対応(HiRDBの場合)

data_typeの設定値 引数要素の型
INTEGER xsd:int
SMALLINT xsd:short
DECIMAL xsd:string
FLOAT xsd:double
REAL xsd:float
CHAR xsd:string
VARCHAR xsd:string
DATE xsd:date
TIME xsd:string
TIMESTAMP xsd:string
LONGVARBINARY xsd:hexBinary

注※
記述した型に加え,空要素の設定も許可されます。
 

表10-24 data_typeの設定値と引数要素の型の対応(Oracleの場合)

data_typeの設定値 引数要素の型
NUMERIC xsd:string
CHAR xsd:string
VARCHAR xsd:string
DATE xsd:date
TIME xsd:string
TIMESTAMP xsd:string
LONGVARCHAR xsd:string
CLOB xsd:string
VARBINARY xsd:hexBinary
LONGVARBINARY xsd:hexBinary
BLOB xsd:hexBinary

注※
記述した型に加え,空要素の設定も許可されます。
 

なお,DBアダプタに送信する要求電文で設定する引数要素の値は,次の表のとおりに扱います。

表10-25 DBアダプタに送信する要求電文での引数要素の扱い

要求電文の引数要素の値 SQLオペレーション定義ファイルの設定値 要求電文のnulldataの属性値 引数要素の扱い
dba_infの属性値 data_typeの属性値
空要素 data "Y"または"△Y△" null
"Y"または"△Y△"以外(省略時も含む) 空文字列("")
data以外 空文字列("")
空要素以外 data CHAR,VARCHAR,LONGVARCHAR,CLOB 値の前後の空白文字は削除しません。<引数要素>△ABC△</引数要素>は,空白文字を削除しないで"△ABC△"として扱います。
CHAR,VARCHAR,LONGVARCHAR,CLOB以外 値の前後の空白文字を削除します。<引数要素>△123△</引数要素>は,空白文字を削除して"123"として扱います。
data以外 値の前後の空白文字は削除しません。<引数要素>△ABC△</引数要素>は,空白文字を削除しないで"△ABC△"として扱います。

(凡例)
−:判定の材料ではありません。
△:一つ以上の空白文字(半角空白文字,改行文字,タブ文字)です。

注※
nulldataの属性値の前後の空白文字は無視します。