티스토리 뷰

IPPR은 전문을 수신하는 프로프레임 서비스이고 OPPR은 전문을 송신하는 서비스 이다.
IPPR을 통해 프로프레임 서비스를 호출하게 되면 OPPR을 통해 출력전문을 생성하는데 
프로젝트 초기 설계된 표준전문설계에 맞게 전문을 조립하도록 pfmOpprExternalProcess.c 소스를 커스터마이징 한다.

기본 default는 system 헤더 + customize 헤더 + error message 헤더 + message 헤더 + output Data 이다.

여기서 문제가 되는 10byte는 정상일때 error message 헤더 + message 헤더 의 길이이다.

두 메세지 해더는 가변으로 error 발생시나 message 셋팅시 길이가 늘어나고 보통 정상 처리 될경우 00000, 00000 각각 5byte의 0값이 들어간다.
data부에 메세지가 10byte씩 밀린다면 
출력전문을 받아와서 error 메세지 해더와 메세지 해더부분을 정상적으로 처리하고 있는지 의심해봐야 한다.

스튜디오 단위테스트 시에 이와 같은 증상이 발생한다면
TestFrameWorkConfig.jsp 에 (proframe 5c라면 TestFrameWorkConfig_ProjectId.jsp 확인)
// OUTPUT 헤더 구조체명 설정 (순서대로)
Vector outHeaderName = new Vector();
outHeaderName.add( "PfmSystemHeaderStr"   );
outHeaderName.add( "PfmCustomizeHeaderStr");
outHeaderName.add( "PfmErrorHeaderStr"    );
outHeaderName.add( "PfmMessageHeaderStr"  );
위와 같이 메세지 헤더가 추가되었는지 확인한다.

참고로 스튜디오 단위테스트시에만 메세지 헤더를 포함하고 대외계 전문은 system header + customize header + output data 만을 전달하도록 전문 조립 로직을 커스터마이징도 가능하다.

댓글