XML 메시지

XML(Extensible Markup Language) 메시지는 데이터를 구조화하여 표현하고 전송하기 위한 텍스트 기반 메시지입니다. XML 형식은 태그를 사용하여 데이터의 의미와 계층 구조를 명확하게 표현할 수 있습니다.

XML 메시지는 주로 다음과 같은 환경에서 사용됩니다.

  • SOAP 웹 서비스

  • 레거시 시스템 연동

  • 전자문서교환(EDI)

message xml form

다음은 XML 메시지의 설정 정보입니다.

항목 설명

Root Element Name

XML 문서의 루트 요소 이름입니다. 네임스페이스를 포함하여 지정할 수 있습니다.

네임스페이스를 지정하는 방법은 네임스페이스 설정을 참고합니다.

Content Type

XML 요소의 콘텐츠 구조를 설정합니다.

  • ELEMENT: 자식 요소만 포함합니다. (가장 일반적)

  • SIMPLE: 텍스트 콘텐츠만 포함합니다.

  • MIXED: 자식 요소와 텍스트를 함께 포함합니다.

  • EMPTY: 자식 요소나 텍스트 없이 속성만 가질 수 있습니다.

UnmarshalException 무시

XML 역직렬화 중 오류가 발생했을 때 예외를 무시할지 여부를 설정합니다.

[네임스페이스 설정]

XML 네임스페이스는 XML 요소와 속성의 이름 충돌을 방지하기 위해 사용합니다.

AnyLink에서는 루트 요소 이름을 설정할 때 Clark 표기법({namespace-uri}local-name)을 사용하여 네임스페이스를 지정합니다.

다음은 XML 예시입니다.

입력 예:
{http://example.com/order}Order

결과 XML:
<Order xmlns:ord="http://example.com/order">
  ...
</Order>
입력 예 설명

{http://example.com/order}Order

http://example.com/order 네임스페이스의 Order 요소입니다.

Order

Order 요소입니다.

다음은 XML 메시지에서 사용할 수 있는 필드 속성입니다. 메시지 타입과 관계없이 공통으로 사용하는 필드 속성은 메시지 필드 정의를 참고합니다.

항목 설명

Is Element

필드를 XML 요소로 매핑할지 속성으로 매핑할지를 선택합니다. (true | false)

Element Name / Attribute Name

XML에서 사용할 요소 이름 또는 속성의 이름입니다.
Is Element 설정에 따라 요소명 또는 속성명으로 사용됩니다.

Attribute Use Option

XML 속성의 사용 옵션입니다.

  • NONE: 적용하지 않습니다.

  • OPTIONAL: 선택 항목으로 사용합니다.

  • REQUIRED: 필수 속성으로 사용합니다.

  • PROHIBITED: 사용하지 않습니다.

Nillable

null 값을 xsi:nil 형식으로 표현할지 여부를 선택합니다. (true | false)

CDATA

텍스트 값을 CDATA 섹션으로 감쌀지 여부를 선택합니다.
특수문자를 이스케이프하지 않고 포함할 때 사용합니다. (true | false)

다음은 XML 필드의 예시입니다.

<Order id="ORD001">           <!-- id는 속성 -->
  <CustomerName>홍길동</CustomerName>  <!-- 요소 -->
  <Description><![CDATA[특수문자 포함: <>&]]></Description>  <!-- CDATA -->
</Order>

다음은 아래 설정값을 적용하여 구성한 XML 메시지 예제입니다.

  • Root Element Name: {http://example.com/order}Order

  • Content Type: ELEMENT

  • UnmarshalException 무시: false

네임스페이스가 지정되면 XML 메시지에는 예제와 같이 URI가 함께 선언됩니다.

<Order xmlns="http://example.com/order">
  <orderId id="ORD001">ORD001</orderId>  <!-- id는 REQUIRED 속성 -->
  <customerName>홍길동</customerName>
  <description><![CDATA[특수문자 포함: <>&]]></description>
</Order>

다음은 예제에 사용된 필드 정의입니다.

Field Id Field Type Is Element Element/Attribute Name 설명

orderId

STRING

true

orderId

주문 ID 요소

id

STRING

false

id

주문 ID 속성 (REQUIRED)

customerName

STRING

true

customerName

고객명 요소

description

STRING

true

description

설명 요소 (CDATA 사용)

XML 메시지에서 한글을 정상적으로 사용하기 위해서 UTF-8 인코딩을 사용합니다. EUC-KR은 XML 사양에서는 지원하지 않습니다.