메시지 페이로드로 바이트 배열 트랜스코딩
중개로 메시지의 의미 변경 없이 바이트 배열을 메시지 페이로드로 트랜스코딩할 수 있습니다.
예를 들어, 메시지를 로깅한 후 중개가 바이트 배열에서 메시지 페이로드를
재구성할 수 있습니다. 메시지를 재구성하려면
SIDataGraphFactory API가 제공하는 createDataGraph 메소드를
호출하십시오.이 메소드는 바이트 배열 및
형식 문자열을 필요로 하며, 다음 예에 표시된 대로 메소드에 전달된 형식에 따라 바이트를 구문 분석함으로써
데이터 그래프를 새로 작성합니다.
DataGraph newDataGraph = SIDataGraphFactory.getInstance().createDataGraph(byteArray, newFormat);
다음 테이블은 SIMessage 데이터 그래프로 바이트 배열을 트랜스코딩하기 위한 규칙을 설명합니다.
포맷 인수 | 전제조건 | 성과 |
---|---|---|
JMS: | 없음 | 널 리턴 |
JMS:text | java.lang.String(inputBytes, "UTF-8")은 예외를 발생시키지 않습니다. | JMS:text 형식의 새 데이터 그래프 인스턴스를 리턴합니다. data/value 경로의 그래프 값은 java.lang.String(inputBytes, "UTF-8")과 같은 값을 가집니다. |
JMS:bytes | inputBytes는 널이 아닙니다. | JMS:bytes 형식의 새 데이터 그래프 인스턴스를 리턴합니다. data/value 경로의 그래프 값은 inputBytes 바이트 배열의 사본입니다. |
JMS:stream | 바이트 배열은 XML이고, XML 스키마 정의의 JmsStreamBody 유형과 관련하여 유효합니다. | JMS:stream 형식의 새 데이터 그래프 인스턴스를 리턴합니다. data/value 경로의 그래프 값은 목록 유형을 가지며, XML 문서의 각 요소 유형 및 값에 따라 입력된 단순한 값의 순서를 포함합니다. |
JMS:object | 널이 아님 참고: 바이트 배열이 유효하게 일련화된 오브젝트인지
확인해야 합니다.
|
JMS:object 형식의 새 데이터 그래프 인스턴스를 리턴합니다. data/value 경로의 그래프 값은 inputBytes 바이트 배열의 사본입니다. |
SOAP: | 바이트 버퍼에는 연관된 WSDL 모델과 관련하여 유효한 SOAP이 포함되어 있습니다. | 바이트 버퍼가 참조하는 WSDL로 정의된 유형 시스템이 포함된 새 데이터 그래프 및 SOAP 페이로드가 정의하는 그래프 값을 리턴합니다. |
Bean: | 바이트 버퍼에는 연관된 WSDL 모델과 관련하여 유효한 Bean이 포함되어 있습니다. | 바이트 버퍼가 참조하는 WSDL로 정의된 유형 시스템이 포함된 새 데이터 그래프 및 Bean 페이로드가 정의하는 그래프 값을 리턴합니다. |