シリアル化エラーの取得
IIB 9 と Websphere MQ
サンプル メッセージ フローがあります。MQInput ノード、Compute ノード、Mqoutput ノード、および DFDL の使用。
1 つの必須セグメントと他の 3 つの非必須セグメントを持つ dfdl があります。
必須ではないセグメントでは、このタイプのツリー構造があります。
ルート セグメント 1 エレメント 1 エレメント 2 エレメント 3 エレメント 4 エレメント 5 セグメント 2 エレメント 1 エレメント 2 エレメント 3 エレメント 4 セグメント 2 エレメント 1 エレメント 2 エレメント 3 エレメント 4
CONSIDER 2 番目の SEGMENT2 >> ELEMENT2 に値が入力されていません。ESQL を使用して ESQL に ELEMENT2 を追加したい場合、シリアル化エラーが発生します。
ケース: ELEMENT1 の NEXSIBLING としてフィールドを作成することで、 ELEMENT2 に値を割り当てることができます。
CREATE NEXTSIBLING OF REF_SEGMENT TYPE Name NAMESPACE NS NAME 'NAME OF THE FIELD';
ここでは、 ELEMENT1 の次の兄弟を作成しているので、 ELEMENT2 を作成して、 ELEMENT 2 に値を割り当てることができます。しかし、ELEMENT 1とELEMENT 3がnullのときに直面している問題
ELEMENT2 を NEXTSIBLING または PREVIOUSSIBLING として作成できませんでした。
CREATE FIELD関数がありますが、論理ツリー構造のENDに要素を追加しています。それも失敗してみてください。
CREATE FIELD OutputRoot.XMLNS.TestCase.description TYPE NameValue VALUE 'これは私のテストケースです';
注 : DFDL を変更するオプションはありません。他のインターフェイスに同じ dfdl を使用しています。唯一の方法は ESQL です。