메시지 본문은 응용프로그램 데이터를 포함합니다. 그러나 메시지가 본문을 포함할 수 없으며 헤더 필드 및 등록 정보만으로 구성됩니다.
응용프로그램이 메시지를 작성할 때 C 인터페이스에서 XMS 메시지 핸들을 응용프로그램에 리턴합니다. 응용프로그램은 이 핸들을 사용하여 메시지 본문의 유형에 적합한 메시지 클래스의 모든 메소드, BytesMessage, MapMessage, ObjectMessage, StreamMessage 또는 TextMessage 클래스의 모든 메소드를 호출할 수 있습니다. 그러나 응용프로그램이 메시지 본문의 유형에 적합하지 않은 메소드를 호출하려고 하면 호출이 실패하고 XMS 오류 코드 XMS_E_BAD_PARAMETER를 리턴합니다.
xmsMESSAGE_TYPE msgtype; xmsMsgConsumerReceive(messageConsumer, &msg, errorBlock); xmsMsgGetTypeId(msg, &msgtype, errorBlock); if (msgtype == XMS_MESSAGE_TYPE_BYTES) { xmsBytesMsgGetBodyLength(msg, &length, errorBlock); }
C++ 인터페이스에서 BytesMessage, MapMessage, ObjectMessage, StreamMessage 및 TextMessage는 메시지 클래스의 서브클래스입니다.
.NET에서 IMessage 인터페이스는 모든 메시지 오브젝트의 상위이며 모든 XMS 메시지 유형을 표시하는 데 사용할 수 있습니다.
XMS 응용프로그램이 WebSphere MQ JMS 응용프로그램과 메시지를 교환하려면 XMS 응용프로그램 및 WebSphere MQ JMS 응용프로그램이 동일한 방법으로 메시지 본문 내의 응용프로그램 데이터를 해석할 수 있어야 합니다. 따라서 XMS 응용프로그램에 의해 메시지 본문에 작성된 응용프로그램 데이터의 각 유형은 표 1에 나열된 데이터 유형 중 한 가지여야 합니다. 표에는 각 XMS 데이터 유형에 대해 호환 가능한 Java 데이터 유형이 설명되어 있습니다. XMS 해당 데이터 유형으로 응용프로그램 데이터의 요소를 작성할 수 있는 메소드 또는 해당 데이터 유형으로만 작성할 수 있는 메소드를 제공합니다.
XMS 데이터 유형 | 표시 대상 | 크기 | 호환 가능한 Java 데이터 유형 |
---|---|---|---|
xmsBOOL | 부울 값 xmsTRUE 또는 xmsFALSE | 32비트 | boolean |
xmsCHAR16 | 더블바이트 문자 | 16비트 | char |
xmsSBYTE | 부호가 있는 8비트 정수 | 8비트 | byte |
xmsSHORT | 부호가 있는 16비트 정수 | 16비트 | short |
xmsINT | 부호가 있는 32비트 정수 | 32비트 | int |
xmsLONG | 부호가 있는 64비트 정수 | 64비트 | long |
xmsFLOAT | 부호가 있는 부동 소수점 수 | 32비트 | float |
xmsDOUBLE | 부호가 있는 실수 정밀도 부동 소수점 수 | 64비트 | double |
string | string | - | string |
다섯 가지 유형의 본문 메시지에 대한 자세한 정보는 다음 주제를 참조하십시오.