2.3.5.1 VIEW/VIEW32に関する考慮事項
Oracle Tuxedo VIEW/VIEW32
バッファとXMLとの変換に関しては、次の点を考慮する必要があります。
- XMLと
VIEW/VIEW32
を変換するための環境を用意する必要があります。これには、VIEW
ディレクトリおよびシステムVIEW
定義ファイルの設定が含まれます。GWWSサーバーはこれらの定義を自動的にロードします。 - XMLと
VIEW/VIEW32
を変換するための環境を用意する必要があります。これには、VIEW
ディレクトリおよびシステムVIEW
定義ファイルの設定が含まれます。GWWSサーバーはこれらの定義を自動的にロードします。 - GWWSサーバーでは、起動時にOracle Tuxedoサービス・メタデータ・リポジトリの
VIEW/VIEW32
パラメータ定義とVIEW/VIEW32
定義ファイルとの整合性の厳格なチェックが行われます。不整合が見つかった場合、GWWSサーバーは起動できません。不整合に関するメッセージが
ULOG
ファイルに出力されます。 tmwsdlgen
でも、起動時にOracle Tuxedoサービス・メタデータ・リポジトリのVIEW/VIEW32
パラメータ定義とVIEW/VIEW32
定義ファイルとの整合性の厳格なチェックが行われます。不整合な点が見つかった場合、GWWSサーバーは起動できません。不整合に関するメッセージがULOG
ファイルに出力されます。VIEW
定義ファイルをロードできない場合、tmwsdlgen
はOracle Tuxedoサービス・メタデータ・リポジトリの定義を使用してWSDLドキュメントの作成を試みます。dec_t
はサポートされていないため、dec_t
型でVIEW
フィールドを定義すると、サービスをWebサービスとしてエクスポートできず、SALT構成ファイルのロード中にエラー・メッセージが生成されます。- Oracle Tuxedoサービス・メタデータ・リポジトリでは、
string/mbstring
型のパラメータのサイズ属性(Oracle Tuxedo型付きバッファで許可される最大バイト長を表す)が定義される場合がありますが、SALTでは、生成されるWSDLドキュメントにそのような制限は適用されません。 VIEW32
に埋め込まれたMBStringバッファがリクエストされてGWWSサーバーに返された場合、GWWSは必要なMBString
の長さを正しく計算できず、入力文字列がVIEW32
の最大長を超えたと報告します。この問題は、転送エンコーディング情報内にヘッダーが含まれているために発生します。VIEW32
のフィールド長を定義する際には、ヘッダーのサイズを含めることが必要です。- Oracle Tuxedoの基本データ型である
long
のサイズは、プラットフォームによって32ビット・スコープの場合と64ビット・スコープの場合があり一定ではありません。しかし、この型に対応するxsd:long
スキーマ型で64ビットの数値を表現できます。
GWWSサーバーが32ビット・モードで動作している場合、Webサービスのクライアントから32ビットの範囲を超えた値を持つxsd:long
型データが送信されると、SOAPフォルトが発生することがあります。