269.9. IDoc の XML シリアライゼーション
概要 リンクのコピーリンクがクリップボードにコピーされました!
IDoc メッセージボディーは、組み込み型コンバーターを使用して XML 文字列フォーマットにシリアライズできます。
XML 名前空間 リンクのコピーリンクがクリップボードにコピーされました!
シリアライズされた IDoc はそれぞれ XML 名前空間に関連付けられ、以下の一般的な形式があります。
http://sap.fusesource.org/idoc/repositoryName/idocType/idocTypeExtension/systemRelease/applicationRelease
http://sap.fusesource.org/idoc/repositoryName/idocType/idocTypeExtension/systemRelease/applicationRelease
repositoryName (リモート SAP メタデータリポジトリーの名前)と idocType (IDoc ドキュメントタイプ)の両方は必須ですが、namespace の他のコンポーネントは空白のままにすることができます。たとえば、以下のような XML 名前空間があるとします。
http://sap.fusesource.org/idoc/MY_REPO/FLCUSTOMER_CREATEFROMDATA01///
http://sap.fusesource.org/idoc/MY_REPO/FLCUSTOMER_CREATEFROMDATA01///
組み込み型コンバーター リンクのコピーリンクがクリップボードにコピーされました!
Camel SAP コンポーネントには組み込みの型コンバーターがあり、Document
オブジェクトまたは DocumentList
オブジェクトを String
型との間で変換できます。
たとえば、Document
オブジェクトを XML 文字列にシリアライズするには、以下の行を XML DSL のルートに追加できます。
<convertBodyTo type="java.lang.String"/>
<convertBodyTo type="java.lang.String"/>
この手法を使用して、シリアライズされた XML メッセージを Document
オブジェクトに使用することもできます。たとえば、現在のメッセージボディーがシリアライズされた XML 文字列である場合、以下の行を XML DSL のルートに追加して Document
オブジェクトに変換することができます。
<convertBodyTo type="org.fusesource.camel.component.sap.model.idoc.Document"/>
<convertBodyTo type="org.fusesource.camel.component.sap.model.idoc.Document"/>
XML 形式の IDoc メッセージボディーの例 リンクのコピーリンクがクリップボードにコピーされました!
IDoc メッセージを String
に変換すると、これは XML ドキュメントにシリアライズされます。ルート要素は idoc:Document
(単一ドキュメントの場合)または idoc:DocumentList
(ドキュメントのリスト)になります。例269.2「XML の IDoc メッセージボディー」 は、idoc:Document
要素にシリアライズされた単一の IDoc ドキュメントを示しています。
例269.2 XML の IDoc メッセージボディー