289.9. IDoc の XML シリアル化


概要

IDoc メッセージ本文は、組み込み型コンバーターを使用して、XML 文字列形式にシリアル化できます。

XML 名前空間

シリアル化された各 IDoc は、次の一般的な形式を持つ XML 名前空間に関連付けられています。

http://sap.fusesource.org/idoc/repositoryName/idocType/idocTypeExtension/systemRelease/applicationRelease

repositoryName (リモート SAP メタデータリポジトリーの名前) と idocType (IDoc ドキュメントタイプ) の両方が必須ですが、名前空間の他のコンポーネントは空白のままにすることができます。たとえば、次のような XML 名前空間を持つことができます。

http://sap.fusesource.org/idoc/MY_REPO/FLCUSTOMER_CREATEFROMDATA01///

組み込み型コンバーター

Camel SAP コンポーネントには組み込み型コンバーターがあり、Document オブジェクトまたは DocumentList オブジェクトを String 型に変換したり、String 型から変換したりできます。

たとえば、Document オブジェクトを XML 文字列にシリアル化するには、次の行を XML DSL のルートに追加するだけです。

<convertBodyTo type="java.lang.String"/>

このアプローチを使用して、シリアライズされた XML メッセージを Document オブジェクトにすることもできます。たとえば、現在のメッセージ本文がシリアル化された XML 文字列である場合、XML DSL のルートに次の行を追加することで、それを Document オブジェクトに戻すことができます。

<convertBodyTo type="org.fusesource.camel.component.sap.model.idoc.Document"/>

XML 形式のサンプル IDoc メッセージ本文

IDoc メッセージを String に変換すると、ルート要素が idoc:Document (単一のドキュメントの場合) または idoc:DocumentList (ドキュメントのリストの場合) のいずれかである XML ドキュメントにシリアライズされます。例289.2「XML の IDoc メッセージボディー」 は、idoc:Document 要素にシリアル化された単一の IDoc ドキュメントを示しています。

例289.2 XML の IDoc メッセージボディー

<?xml version="1.0" encoding="ASCII"?>
<idoc:Document
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:FLCUSTOMER_CREATEFROMDATA01---="http://sap.fusesource.org/idoc/XXX/FLCUSTOMER_CREATEFROMDATA01///"
    xmlns:idoc="http://sap.fusesource.org/idoc"
    creationDate="2015-01-28T12:39:13.980-0500"
    creationTime="2015-01-28T12:39:13.980-0500"
    iDocType="FLCUSTOMER_CREATEFROMDATA01"
    iDocTypeExtension=""
    messageType="FLCUSTOMER_CREATEFROMDATA"
    recipientPartnerNumber="QUICKCLNT"
    recipientPartnerType="LS"
    senderPartnerNumber="QUICKSTART"
    senderPartnerType="LS">
  <rootSegment xsi:type="FLCUSTOMER_CREATEFROMDATA01---:ROOT" document="/">
    <segmentChildren parent="//@rootSegment">
      <E1SCU_CRE parent="//@rootSegment" document="/">
        <segmentChildren parent="//@rootSegment/@segmentChildren/@E1SCU_CRE.0">
          <E1BPSCUNEW parent="//@rootSegment/@segmentChildren/@E1SCU_CRE.0"
              document="/"
              CUSTNAME="Fred Flintstone" FORM="Mr."
              STREET="123 Rubble Lane"
              POSTCODE="01234"
              CITY="Bedrock"
              COUNTR="US"
              PHONE="800-555-1212"
              EMAIL="fred@bedrock.com"
              CUSTTYPE="P"
              DISCOUNT="005"
              LANGU="E"/>
        </segmentChildren>
      </E1SCU_CRE>
    </segmentChildren>
  </rootSegment>
</idoc:Document>
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.