아웃바운드 메시지의 IMS 메시지 형식

OTMA를 사용하여 Liberty에서 IMS로 메시지를 전송하는 경우, zosLocalAdapters 기능은 메시지를 IMS 형식에서 OTMA C/I 형식으로 변환해야 합니다. 이 변환을 수행하기 위해, Liberty는 요청 및 응답 메시지 세그먼트가 LLZZ 또는 LLLLZZ 형식인지 여부를 알아야 합니다.

LLZZ 형식 메시지 세그먼트는 세그먼트 길이가 포함된 2바이트 필드로 시작되며, 그 뒤에 2바이트 예약 필드가 있습니다. 세그먼트의 나머지 부분은 실제 메시지에 의해 사용됩니다. 대부분의 IMS 세그먼트는 이 형식을 사용합니다.

LLLLZZ 형식 메시지 세그먼트는 세그먼트 길이가 포함된 4바이트 필드로 시작되며, 그 뒤에 2바이트 예약 필드가 있습니다. 세그먼트의 나머지 부분은 실제 메시지에 의해 사용됩니다. LLLLZZ 형식은 일부 PL/I 프로그램에 의해 사용됩니다.

요청 및 응답의 세그먼트 형식은 OTMARequestLLZZOTMAResponseLLZZ 특성을 설정하여 server.xml의 연결 팩토리 정의에 지정될 수 있습니다. 또한 세그먼트 형식은 연결 팩토리에서 연결을 가져올 때 ConnectionSpecImpl 클래스의 메소드를 사용하여 지정되거나 대체될 수도 있습니다. com.ibm.websphere.ola.ConnectionSpecImpl에 대해 생성된 Javadoc에는 연결 레벨에서 LLZZ 필드 설정에 대한 자세한 정보가 있습니다.

IMS에 다중 세그먼트 메시지를 전송하는 경우, 첫 번째 메시지 세그먼트에는 대상 IMS 트랜잭션의 8바이트 IMS 트랜잭션 ID가 포함되어야 합니다. 이 트랜잭션 ID는 LLZZ 또는 LLLLZZ 접두부를 따릅니다. 후속 세그먼트에는 트랜잭션 ID가 포함되지 않아야 합니다. 단일 세그먼트 메시지는 다중 세그먼트 메시지의 첫 번째 세그먼트와 동일한 방식으로 구성되어야 합니다. 다중 세그먼트 메시지는 다음과 같이 보일 수 있습니다.

2 bytes LL 20
2 bytes ZZ 00
8 bytes transaction ID    'MYTRAN01'
8 bytes data  'DATA0000'
2 bytes LL 12
2 bytes ZZ 00
8 bytes data  'DATA0001'
2 bytes LL 12
2 bytes ZZ  00
8 bytes data 'DATA0002'

모든 메시지 세그먼트는 단일 바이트 배열에 연결되어야 하며, IndexedRecord를 사용하여 IMS에 전달되어야 합니다. com.ibm.websphere.ola.IndexedRecordImpl 클래스는 이 용도로 제공됩니다. 단일 바이트 배열은 IndexedRecord에 추가되어야 하며, Interaction.execute를 드라이브할 때 WOLA에 전달되어야 합니다. 상호작용이 응답을 리턴할 때 이는 IndexedRecord를 리턴하며, 여기에는 단일 바이트 배열에서 함께 연결된 모든 응답 세그먼트가 포함되어 있습니다. 세그먼트의 형식은 OTMAResponseLLZZ 특성의 값에 따라 LLZZ 또는 LLLLZZ입니다.


주제의 유형을 표시하는 아이콘 참조 주제

파일 이름: rwlp_dat_imsoutmsg.html