SOAP over JMS 메시지 유형 구성
SOAP over JMS(Java™ Message Service) 요청 또는 응답 메시지를 구성하여 BytesMessage 또는 TextMessage 오브젝트 중 하나를 사용할 수 있습니다.
시작하기 전에
웹 서비스는 JMS 전송을 통해 액세스할 수 있는 엔터프라이즈 Bean으로 구현해야 합니다.
이 태스크 정보
새로운 산업 표준인 SOAP over JMS 프로토콜을 사용하는 웹 서비스의 경우, SOAP over JMS 요청 및 응답을 구성하여 메시지를 JMS BytesMessage(javax.jms.BytesMessage) 또는 TextMessage(javax.jms.TextMessage) 오브젝트로 전송할 것인지 여부를 지정할 수 있습니다. 기본 메시지 유형은 BytesMessage입니다.
JMS 메시지가 BytesMessage이면 JMS 메시지의 본문은 2진 데이터입니다.
JMS 메시지가 TextMessage이면 JMS 메시지의 본문은 문자열 데이터입니다. 예를 들어 사람이 읽을 수 있는 JMS 메시지를 포함하는 감사 또는 로깅 기능을 구현하려면 텍스트 메시지를 구성하는 것이 좋습니다.
- 메모리 사용량 -
각 문자가 UTF-16 문자 인코딩 기반이므로 TextMessage의 페이로드는 문자열 기반입니다. TextMessage의 페이로드는 동일한 BytesMessage보다 2배의 바이트를 차지합니다. 요청 및 응답 메시지의 페이로드가 작은 경우 TextMessage와 BytesMessage의 메모리 사용량에는 큰 차이가 없지만, 페이로드가 큰 경우에는 메모리 사용량의 차이가 비즈니스 환경에 큰 영향을 주는 중요한 고려사항이 될 수 있습니다.
- 2진 첨부 파일 -
JMS TextMessage를 사용하여 요청 및 응답 메시지를 전송하는 경우 기본 메시지 페이로드가 문자열 기반이므로 SOAP 메시지 본문에 포함되는 모든 2진 첨부 파일은 base64 인코딩이어야 합니다. 2진 첨부 파일이 base64 인코딩인 경우 해당 데이터를 변환하기 위해 더 많은 처리 시간과 메모리가 요구됩니다. 따라서 base64로 인코드된 2진 첨부 파일은 인코드되지 않은 원래 버전의 첨부 파일보다 최대 3분의 1배 정도 클 수 있습니다. 이때, 크기가 더 크고 인코드된 첨부 파일 파트를 문자열 기반 메시지 페이로드로 전송할 경우, 2진 첨부 파일 파트를 전송하기 위한 메모리 사용량은 인코드되지 않은 원래 2진 첨부 파일을 BytesMessage로 전송하는 데 필요한 메모리 크기의 약 3배입니다.
프로시저
결과
SOAP over JMS 프로토콜을 사용하여 요청 및 응답 메시지를 전송할 때 웹 서비스 클라이언트에서 TextMessage 또는 BytesMessage 오브젝트를 사용하도록 구성했습니다.