1.1.5.2.2 複数のエンコーディング・サポートの構成

SALTでは、SOAPメッセージ用の複数のエンコーディング、およびSOAPメッセージとOracle Tuxedoバッファの間のエンコーディング・マッピングがサポートされています。次の文字エンコーディングがサポートされています。

ASCII、BIG5、CP1250、CP1251、CP1252、CP1253、CP1254、CP1255、CP1256、CP1257、CP1258、CP850、CP862、CP866、CP874、EUC-CN、EUC-JP、EUC-KR、GB18030、GB2312、GBK、ISO-2022-JP、ISO-8859-1、ISO-8859-13、ISO-8859-15、ISO-8859-2、ISO-8859-3、ISO-8859-4、ISO-8859-5、ISO-8859-6、ISO-8859-7、ISO-8859-8、ISO-8859-9、JOHAB、KOI8-R、SHIFT_JIS、TIS-620、UTF-16、UTF-16BE、UTF-16LE、UTF-32、UTF-32BE、UTF-32LE、UTF-7、UTF-8

GWWSでの複数のエンコーディング・サポートを有効にするには、次の例に示すように、GWWSサーバーレベル・プロパティ「enableMultiEncoding」を「true」に設定する必要があります。

ノート:

GWWSでは、UTF-8以外の外部メッセージがUTF-8に変換されます。ただし、エンコーディングの変換はサーバーのパフォーマンスに影響します。デフォルトでは、エンコーディングの変換はオフで、UTF-8エンコードのないメッセージが拒否されます。

例1-13 GWWSサーバーの複数エンコーディング・プロパティの構成

<Deployment ..>
  ...
  <WSGateway>
    <GWInstance id="GWWS1">
      .......
      <Properties>
        <Property name="enableMultiEncoding" value="true"/>
      </Properties>
    </GWInstance>
  </WSGateway>
  ...
</ Deployment>

次の表では、GWWSサーバー・レベルの複数エンコーディング・プロパティを有効にした場合に適用される、SOAPメッセージとTuxedoバッファの間のエンコーディング・マッピング・ルールの詳細を説明します。

表1-7 SALTメッセージ・エンコーディング・マッピング・ルール

マップ元 マップ先 エンコーディング・マッピング・ルール
SOAP/XML Oracle Tuxedoの型付きバッファ string/mbstring/xmlバッファまたはフィールドの文字のエンコーディングをSOAP xmlエンコーディングと同じにします。
STRING型付きバッファ SOAP/XML GWWSは、ターゲットのSOAPメッセージをUTF-8エンコーディングに設定し、元のSTRINGバッファにはUTF-8エンコーディングの文字のみが含まれるものとみなします。

ノート:

Oracle Tuxedoでの開発においては、STRINGの文字を必ずUTF-8エンコーディングにする必要があります。
MBSTRING/XML型付きバッファ SOAP/XML SOAP xmlエンコーディングをMBSTRING/XMLエンコーディングと同じにします。
複数のFLD_MBSTRINGフィールドが同じエンコーディングに設定されているFML/32、VIEW/32型付きバッファ SOAP/XML SOAP xmlエンコーディングをFLD_MBSTRINGエンコーディングに設定します。元の型付きバッファ・フィールドの文字は、SOAPメッセージ内では変更されません。

ノート:

Oracle Tuxedoでの開発においては、同じバッファ内のFLD_STRINGの文字を必ず一貫性のあるものにする必要があります。
複数のFLD_MBSTRINGフィールドが異なるエンコーディングに設定されているFML/32、VIEW/32型付きバッファ SOAP/XML SOAP xmlエンコーディングをUTF-8に設定します。エンコーディングが異なる元の型付きバッファFLD_MBSTRINGフィールドの文字は、SOAPメッセージ内でUTF-8に変換されます。

ノート:

Oracle Tuxedoでの開発においては、同じバッファ内のFLD_STRINGの文字を必ずUTF-8エンコーディングにする必要があります。