応答電文は,XML文書形式で出力されます。
なお,検索結果(列名など)にXML文書で使用できない「<」や「&」などの文字が含まれていた場合,「<」や「&」などにエスケープして応答電文に設定されます。そのため,データベースに格納されているデータをエスケープする必要はありません。
応答電文の形式は,単一のSQL文の実行要求に対する応答の場合と,複数のSQL文の実行要求に対する応答の場合とで異なります。
応答電文の形式を次に示します。なお,斜体の文字は可変値を表します。
<DBadapter> |
<DBadapter> |
なお,要求電文で入力情報が0(ゼロ)の場合,応答電文は次の形式で出力されます。
応答電文の要素と属性について次の表に示します。
表10-26 応答電文の要素と属性(DBアダプタ用のサービスリクエスタ)
要素名・属性名 | 種別 | 内容と設定値 | 格納される値の型 | 省略の有無 |
---|---|---|---|---|
DBadapter | 要素 | ルート要素です。次の下位要素があります。
| - | × |
DBA_MULTI_SQL | 要素 | サービスリクエスタからの複数のSQL文の実行要求に対する応答であることを示す要素です。SQL識別子以降の下位要素に入力情報(要求電文での設定情報)および出力情報(SQLの実行結果情報)が出力されます。 要求電文で記述したDBA_MULTI_SQL要素と同数のDBA_MULTI_SQL要素が出力されます。 | - | ×※1 |
SQL識別子 | 要素 | 下位の要素「DBA_IN_DATA」および「DBA_OUT_DATA」に,それぞれ入力情報(要求電文での設定情報)および出力情報(SQLの実行結果情報)が格納されます。 SQL識別子は,要求電文に設定したSQL識別子です。 なお,属性out_maxOccurs(検索結果出力最大件数)は,要求電文で設定した場合にだけ格納されます。 | - | × |
DBA_IN_DATA | 要素 | 要求電文で設定した入力情報がこの要素の下位要素に格納されます。 | - | × |
DBA_OUT_DATA | 要素 | 下位の要素にSQL実行時の出力情報が格納されます。実行したSQLによって,格納される出力情報が異なります。
| - | × |
DBA_ResultSetNo | 要素 | 実行したSQLによって,格納される出力情報が異なります。
| xsd:int | × |
DBA_ResultSetXmlNo | 要素 | 実行したSQLがSELECTの場合,実際の検索結果の件数(DBA_ResultSetNoの値)のうち,この応答電文に格納されている検索結果の件数が格納されます。 DBA_ResultSetNoの値が,要求電文またはSQLオペレーション定義ファイルのout_maxOccursに指定した値よりも大きい場合,out_maxOccursに指定した値が格納されます。 また,格納される要素の値が2,147,483,647を超えた場合,2,147,483,647が格納されます。 | xsd:int | ○ |
DBA_ResultSetName | 要素 | 実行したSQLがSELECTの場合,検索結果の列の名称が,下位要素DBA_ResultColumnNameに格納されます。 なお,検索結果が0件の場合,この要素は格納されません。 | - | △ |
DBA_ResultColumnName | 要素 | 実行したSQLがSELECTの場合,該当する列の名称が格納されます。 なお,結果の列がデータベースの列の場合,「列名」の形式で設定されます。また,結果の列名が取得されない場合,SQLを発行した先のデータベースの仕様に従った名称が返されます。 属性にcidがあります。 | xsd:string | △ |
cid | 属性 | DBA_ResultColumnNameに格納される値の列番号を示します。 | xsd:int | |
DBA_ResultSet | 要素 | 実行したSQLがSELECTの場合,一行ごとの結果情報が,下位要素のDBA_ResultColumnに格納されます。なお,検索結果が0件の場合,この要素は格納されません。 属性にlidがあります。 | - | △ |
lid | 属性 | DBA_ResultSetに格納される値の行番号を示します。 また,格納される要素の値が2,147,483,647を超えた場合,2,147,483,647が格納されます。 | xsd:int | |
DBA_ResultColumn | 要素 | 該当する行(DBA_ResultSetで示される行)のn列目の検索結果が格納されます。※2 属性にcidおよびnulldataがあります。 | xsd:string | △ |
cid | 属性 | DBA_ResultColumnに格納される値の列番号を示します。 | xsd:int | |
nulldata | 属性 | DBA_ResultColumnに格納されたデータがnullであるかどうかを示します。 nullの場合「Y」が設定されます。nullでない場合,この属性は設定されません。 | xsd:string |