2.3 Oracle Tuxedoサービス用Tuxedo-to-XMLデータ型のマッピング
次の表に示すように、SALTには、Oracle Tuxedo型付きバッファをXMLドキュメントで記述するためのルール・セットがあります。これらのルールは、SALT WSDLドキュメント内のXMLスキーマ定義としてエクスポートされます。そのため、Oracle Tuxedoのバッファ・タイプに関する知識をあらかじめ備えていなくても、簡単にバッファの変換を実行できます。
表2-2 Oracle TuxedoバッファのXMLスキーマへのマッピング
Oracle Tuxedoバッファ・タイプ | 説明 | SOAPメッセージのXMLスキーマ・マッピング |
---|---|---|
STRING
|
Oracle Tuxedo STRING 型付きバッファは、NULL 文字で終わる文字列の格納に使用します。Oracle Tuxedo STRING 型付きバッファは自己記述型バッファです。
|
xsd:string
SOAPメッセージ内では、実際の文字列データをカプセル化するXML要素を、 ノート: STRING データ型には、Oracle Tuxedoサービス・メタデータ・リポジトリにおいてデータの最大長を指定できます。これがOracle Tuxedoで定義されている場合、対応するSOAPメッセージにも同じ最大長の制限が適用されます。GWWSサーバーにより、実際のメッセージ・バイト長がOracle Tuxedoサービス・メタデータ・リポジトリの定義に対して検証されます。メッセージのバイト長がサポート可能な最大長を超える場合は、SOAPフォルトのメッセージが返されます。
GWWSサーバーが |
CARRAY (Mapping with SOAP Message plus Attachments) |
Oracle Tuxedo CARRAY 型付きバッファには文字配列が格納されます(配列内には任意の位置にNULL を含んでよい)。CARRAY バッファはデータをオペークなものとして扱うバッファで、自己記述型ではありません。
|
CARRAY バッファのRAWデータは、SOAP Messages with Attachments仕様で定義されたMIME multipart/relatedメッセージに含まれて伝送されます。
MIME Content-Type添付でサポートされる2つのデータ形式は、次のとおりです:
ノート: このSOAP with Attachmentルールは、Oracle WebLogic ServerおよびApache Axisのみに対して相互運用性を持つ
|
CARRAY (Mapping with base64Binary) |
Oracle Tuxedo CARRAY 型付きバッファには文字配列が格納されます(配列内には任意の位置にNULL を含んでよい)。CARRAY バッファはデータをオペークなものとして扱うバッファで、自己記述型ではありません。
|
xsd:base64Binary
SOAPメッセージ内では、実際の
CARRAY データをカプセル化するXML要素を、xsd:base64Binary を使用して直接定義する必要があります。
ノート: CARRAY データ型にはバイトの最大長を指定できます。これがOracle Tuxedoで定義されている場合、対応するSOAPメッセージにはこの制限が適用されます。GWWSサーバーにより、実際のメッセージ・バイト長がOracle Tuxedoサービス・メタデータ・リポジトリの定義に対して検証されます。
|
MBSTRING
|
Oracle Tuxedo MBSTRING 型付きバッファは、マルチバイト文字配列に使用します。Oracle Tuxedo MBSTRING バッファは次の3つの要素により構成されます。
|
xsd:string
XMLスキーマの組込み型である GWWSサーバーは、 ノート: GWWSサーバーでは、UTF-8 文字セットの文字列をそのままMBSTRING 型付きバッファの形式でOracle Tuxedoサービスに渡します。実際のOracle Tuxedoサービスによって、UTF-8 文字列が処理されます。
Oracle Tuxedoレスポンスとして返されるすべての |
MBSTRING (cont.) |
- | 制限事項:
Oracle Tuxedo |
XML
|
Oracle Tuxedo XML型付きバッファにはXMLドキュメントが格納されます。 | xsd:anyType
XMLスキーマの組込み型である 制限事項: GWWSサーバーでは、実際のXMLデータが整形式であることが検証されます。それ以外の事項(スキーマ検証など)の適用については確認されない。 SOAP本文には、単一ルートのXMLバッファのみを格納できます。この点はGWWSサーバーによりチェックされます。 実際のXMLデータは XMLデータ型には、データの最大バイト長を指定できます。これがOracle Tuxedoで定義されている場合、対応するSOAPメッセージにも同じ最大長の制限を適用する必要があります。
ノート: SALTのWSDLジェネレータで生成されるWSDLドキュメントには、最大長を制限するxsd:maxLength の指定が含まれません。ただし、GWWSサーバーにより、バイト長がOracle Tuxedoサービス・メタデータ・リポジトリの定義に対して検証されます。
|
VIEW/VIEW32
|
Oracle Tuxedo VIEW およびVIEW32 型付きバッファには、Oracle Tuxedoアプリケーションで定義されたC構造が格納されます。
|
フィールドの型とそれに対応するXMLスキーマ型の一覧を次に示します:
|
VIEW/VIEW32 (cont.) |
- |
詳細は、「VIEW/VIEW32に関する考慮事項」を参照してください。 |
FML/FML32
|
Oracle Tuxedo FML およびFML32 型バッファは、Oracle Tuxedoシステムに特有の自己記述型バッファです。各データ・フィールドは独自の識別子、オカレンス番号、および可能であれば長さインジケータを保持します。
|
FML/FML32 バッファには、基本フィールド・データごとに、データ・ディクショナリに似た基本的な定義のみを指定できます。異なる型名を持つFML/FML32 バッファごとに、特定のFML/FML32 バッファ定義を適用する必要があります。
フィールドの型とそれに対応するXMLスキーマ型の一覧を次に示します:
|
FML/FML32
(続き) |
- |
ノート: ptr はサポートされていません。
|
RECORD
|
RECORD バッファ・タイプは、コピーブック・レコードを表します。RECORD 型には、個々のレコード構造体を示すサブタイプが必要です。
生成されるCOBOL型:
|
RECORD の各データ型は、XMLスキーマの複合型として定義されます。RECORD の各フィールドが、XMLスキーマの複合型における1つまたは複数のサブ要素に対応します。
COBOLの型とそれに対応するXMLスキーマ型の一覧を次に示します:
|
X_C_TYPE
|
X_C_TYPE バッファ・タイプはVIEW バッファ・タイプと同等です。
|
VIEW/VIEW32 を参照してください
|
X_COMMON
|
X_COMMON バッファ・タイプはVIEW バッファ・タイプと同等ですが、COBOLプログラムとCプログラムとの間で互換性を確保する場合に使用します。フィールドの型としてはshort 、long 、stringのみ使用します。
|
VIEW/VIEW32 を参照してください
|
X_OCTET
|
X_OCTET バッファ・タイプはCARRAY バッファ・タイプと同等です
|
CARRAY を参照してください
|
- Oracle Tuxedo STRING型付きバッファ
- Oracle Tuxedo CARRAY型付きバッファ
- Oracle Tuxedo MBSTRING型付きバッファ
- Oracle Tuxedo XML型付きバッファ
- Oracle Tuxedo VIEW/VIEW32型付きバッファ
- Oracle Tuxedo FML/FML32型付きバッファ
- Oracle Tuxedo RECORD型付きバッファ
- Oracle Tuxedo X_C_TYPE型付きバッファ
- Oracle Tuxedo X_COMMON型付きバッファ
- Oracle Tuxedo X_OCTET型付きバッファ
- カスタム型付きバッファ
親トピック: データ型のマッピングとメッセージ変換