290.13. IDoc에 대한 XML 직렬화
290.13.1. 개요
IDoc 메시지 본문은 기본 제공 형식 변환기를 사용하여 XML 문자열 형식으로 직렬화할 수 있습니다.An IDoc message body can be serialized into an XML string format, with the help of a built-in type converter.
290.13.2. 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///
290.13.3. 기본 제공 유형 변환기
Camel SAP 구성 요소에는 Document
오브젝트 또는 DocumentList
오브젝트를 String
유형으로 변환할 수 있는 기본 제공 유형 변환기가 있습니다.
예를 들어 Document
개체를 XML 문자열로 직렬화하려면 XML DSL의 경로에 다음 행을 간단히 추가할 수 있습니다.
<convertBodyTo type="java.lang.String"/>
이 방법을 Document
오브젝트에 직렬화된 XML 메시지에 사용할 수도 있습니다. 예를 들어 현재 메시지 본문이 직렬화된 XML 문자열인 경우 XML DSL의 경로에 다음 행을 추가하여 문서 개체로 다시 변환할 수 있습니다.For example, given that the current message body is a serialized XML string, you can convert it back into a Document
object by adding the following line to a route in XML DSL:
<convertBodyTo type="org.fusesource.camel.component.sap.model.idoc.Document"/>
290.13.4. XML 형식의 IDoc 메시지 본문 샘플
IDoc 메시지를 문자열로 변환할 때 루트 요소는 idoc:Document(단일 문서용) 또는
(문서 목록의 경우)로 직렬화됩니다. idoc:Document
List 예 290.2. “XML의 IDoc 메시지 본문”
idoc:Document
요소로 직렬화된 단일 IDoc 문서를 표시합니다.
예 290.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>