EGL 디버거로 서비스 디버깅
기타 프로그램을 디버그하는 방식과 유사하게 로컬 EGL 서비스를 디버그할 수 있습니다.
전제조건
서비스에 액세스하기 위한 바인딩 정보가 있는 요청자와 EGL 서비스 파트가 필요합니다.
WebSphere® Application Server에서 웹 서비스를 디버그하려면 서비스를 생성해야 합니다.
로컬 서비스 디버깅
서비스와 동일한 프로젝트의 프로그램에서 호출하여 서비스를 가장 간단하게 디버그할 수 있습니다. 그런 다음 테스트 값을 서비스에 전달하고 결과를 조사할 수 있습니다.
다음 단계를 수행하십시오.
- 새 EGL 소스 프로그램을 작성하십시오.
- 프로그램에서 테스트하려는 서비스 파트에 기반하는 서비스 변수를 선언하십시오.
- "로컬" 프로토콜을 사용하여 EGL 서비스(웹 서비스 아님)로 배치 디스크립터에서 서비스 바인딩을 작성하십시오.
- 서비스 바인딩을 통해 변수를 서비스에 바인드하십시오.
- 프로그램의 main() 함수에서 해당 변수를 통해 서비스에 대한
하나 이상의 호출을 작성하십시오. 가장 쉬운 방법으로 다음 예제와 같이 서비스 호출에서 입력 값을
하드 코딩하고
콘솔에 출력 값을 씁니다.
program addTestProgram type BasicProgram myAddingMachine additionService {@BindService {bindingKey = "additionService"}}; function main() sumint int; sumint = myAddingMachine.addInts(5, 12); SysLib.writeStdOut("result = " + sumint); endend - 서비스 호출의 중단점을 설정하십시오. EGL 디버거에서 중단점 사용을 참조하십시오.
- 논리 파트의 경우와 같이 서비스의 중단점을 설정하십시오.
- 새 EGL 소스 프로그램을 디버그하십시오. 서비스 호출 이전의 중단점에서 서비스 코드를 시작하십시오. 디버거가 기타 논리 파트의 경우와 같이 서비스의 중단점에서 일시정지합니다.
기능
EGL 디버거에서 실행하는
서비스 파트 또는 EGL 생성 서비스에 대해 다음 특수 기능이
사용 가능합니다.
- z/OS®에 상주하는 VSAM 파일의 원격 액세스
- 비EGL 생성 프로그램에 대한 호출인데, 여기서 연계 옵션 파트의 callLink 요소에
다음 설정이 포함됩니다.
- remoteComType 특성이 DISTINCT로 설정됨
- remotePgmType 특성이 EXTERNALLYDEFINED로 설정됨
- 다음 기능에 액세스하는데, 이는 개발 환경에서 운영 체제 명령을 실행합니다(SysLib.callCmd 및 SysLib.startCmd).
해당 기능을 사용 가능하게 하는 데 필요한 태스크에 대한 세부사항은 VSAM 지원 및 특히 “액세스 전제조건” 섹션을 참조하십시오.