PI_PO

SAP PI/PO REST Adapter 오류 해결: Invalid white space character(0xb) 오류 원인과 해결법

피오농부 2025. 4. 27. 06:49
반응형

SAP PI/PO에서 REST Adapter를 사용할 때 발생하는 'Invalid white space character(0xb)' 오류는 XML 변환 과정에서 자주 등장하는 문제입니다.
이 글에서는 오류의 원인, 해결 방법, 그리고 유의사항까지 초보자도 쉽게 이해할 수 있도록 정리했습니다.


📚 목차 (Table of Contents)

  1. 오류 메시지의 정체: Invalid white space character(0xb)
  2. 오류 발생 위치와 원인 분석
  3. 해결 방법: Convert to XML 1.1 옵션 설정
  4. XML 1.0과 XML 1.1의 차이점은?
  5. 정리 및 참고 링크

1. 오류 메시지의 정체: Invalid white space character(0xb)

SAP 시스템에서 다음과 같은 에러 메시지를 본 적 있으신가요?

Invalid white space character (0xb) in text to output (in xml 1.1, could output as a character entity)
Fatal error while processing inbound message. 
java.lang.RuntimeException: WstxIOException: Invalid white space character(0xb)

이 메시지는 XML 변환 도중 허용되지 않은 문자(0xb), 즉 수직 탭(vertical tab) 때문에 오류가 발생했음을 알려줍니다.


2. 오류 발생 위치와 원인 분석

이 문제는 주로 REST Sender Adapter에서 JSON 데이터를 XML로 변환하는 과정에서 발생합니다.

  • JSON → XML 변환 시 XML 1.0 규격을 기본으로 적용
  • XML 1.0에서는 0x0b(vertical tab) 같은 문자를 허용하지 않음
  • 따라서 이런 문자가 JSON 본문에 포함되어 있으면 XML 변환 중 오류 발생

🔍 유사 오류

0x1a, 0x0c 등도 유사한 원인으로 오류를 유발할 수 있습니다. 모두 컨트롤 문자이며 XML 1.0에서는 금지되어 있습니다.


3. 해결 방법: Convert to XML 1.1 옵션 설정

SAP PI/PO의 REST Sender Adapter에는 이를 해결할 수 있는 간단한 설정 옵션이 존재합니다.

✅ 해결 순서

  1. Integration Directory(ID) 혹은 IFLOWS 편집기로 해당 REST Sender Adapter 열기
  2. Convert to XML 1.1 document 옵션을 체크
  3. 변경 후 활성화(Activate)

⚠️ 주의사항

  • 이 설정은 XML 버전을 1.0에서 1.1로 변경합니다.
  • XML 1.1에서는 0x0b 같은 컨트롤 문자가 엔터티 형태로 표현 가능해지므로 오류가 발생하지 않음
  • 그러나, 수신 시스템이 XML 1.1을 지원하지 않는 경우 문제가 될 수 있으니 사전 확인 필요

4. XML 1.0과 XML 1.1의 차이점은?

항목 XML 1.0 XML 1.1

허용 문자 일부 컨트롤 문자 불허 수직탭(0x0b) 등 허용
호환성 높은 범용성 제한적 호환성
사용 예 일반적인 시스템 특수한 문자 포함 메시지

📌 즉, XML 1.1은 유연한 문자 처리를 가능하게 하지만 호환성 면에서 주의가 필요합니다.


5. 정리 및 참고 링크

이번 글에서는 SAP REST Adapter에서 발생하는 'Invalid white space character(0xb)' 오류에 대해 다뤘습니다.

요약

  • 오류 원인: XML 1.0에서 허용되지 않는 컨트롤 문자 존재
  • 해결 방법: REST Adapter에서 XML 1.1 옵션 활성화
  • 주의사항: XML 1.1을 수신 시스템이 지원해야 함

📎 참고 링크:

반응형