4.5 XML電文内の属性値に指定した名前空間接頭辞の補完
HCSCサーバ内を流れるユーザ電文で,XMLスキーマの属性値の型にQName型を使用する場合,次の図のようにXML文書から「子要素」を部分木として切り出して出力すると,xmlns:prefixの名前空間宣言が欠落します。
名前空間宣言が欠落した場合,次の問題が発生することがあります。
-
ビジネスプロセスでフォルトコネクションを使用してフォルトをキャッチしようとしたが,サービス部品からのフォルトをキャッチできない。
-
データ検証機能を使用している場合(HCSCサーバランタイム定義ファイルのtelegram-validationプロパティにONを指定),検証でエラーが発生する。
-
名前空間宣言が欠落したXML電文をサービスリクエスタやサービス部品で受け取った場合,サービスリクエスタやサービス部品側でエラーが発生する。
なお,子要素のプレフィックスについては,部分木取得時に名前空間が解決されます。
このような問題を解決するには,HCSCサーバランタイム定義ファイルのxmltelegram-namespace-complementプロパティにONを指定します。ただし,ONを指定すると,OFFを指定した場合よりも電文サイズが大きくなるため注意してください。
HCSCサーバランタイム定義ファイルについては,マニュアル「サービスプラットフォーム リファレンス」の「6.5.6 HCSCサーバランタイム定義ファイル」を参照してください。