전용 또는 로컬 EGL 서비스에 액세스하기 위한 변수 선언
- "Rich UI에서의 서비스 액세스"에 설명되어 있는 바와 같이, Rich UI에서 작업 중인 경우에 액세스할 수 있는 유일한 EGL 서비스는 전용 서비스입니다.
서비스 액세스 변수는 다음에 표시되어 있는 것과 같은 방식으로 선언합니다.
myService MyServicePart{@dedicatedService};이 선언에서는 인터페이스 파트가 아니라 서비스 파트를 지정해야 합니다.
변수를 선언한 후에는 "Rich UI 애플리케이션에서의 서비스 비동기 호출"에 설명되어 있는 바와 같이 이 변수를 call 문에서 사용합니다.
- Rich UI 외부에서 작업 중인 경우 일반적인 프로시저는 다음과 같습니다.
변수를 선언하고 여기에 서비스 바인딩을 지정한 후에는 "Rich UI 외부에서의 서비스 동기 호출"에 설명되어 있는 바와 같이 이 변수를 서비스 액세스 명령문에 사용합니다.
로컬 EGL 서비스에 액세스하기 위한 인터페이스 파트 정의
Rich UI 외부의 로컬 EGL 서비스에 액세스하는 경우에는 인터페이스 파트를 기반으로 서비스 액세스 변수를 작성할 수 있습니다. 이 파트에는 서비스 파트에 있는 함수의 일부 또는 전부와 일치하는 함수 프로토타입이 포함되어 있습니다.
Interface MyInterfacePart
Function GetEmployeeDetail(employeeCode STRING IN,
employeeSalary FLOAT OUT,
employeeStatus STRING INOUT)
returns(myEmployeeRecordPart);
end
이 예제에는 하나의 함수 프로토타입이 포함되어 있지만, 인터페이스 파트는 더 많은 프로토타입을 포함할 수 있습니다. 또한 다양한 EGL 데이터 유형을 지정할 수 있으며 수정자 IN, OUT 및 INOUT을 사용할 수 있습니다.
- 프로젝트 탐색기에서 서비스를 정의하는 EGL 파일을 마우스 오른쪽 단추로 클릭하십시오.
- EGL 서비스>EGL 인터페이스 추출을 클릭하십시오.
- 새 EGL 인터페이스 파트 창에서 적절한 세부사항을 지정하고 완료를 클릭하십시오.
비SOAP 서비스에 액세스할 때는 WSDL 파일에서 파생된 인터페이스 파트를 사용하지 마십시오. 이렇게 하면 발생할 수 있는 런타임 오류를 방지할 수 있습니다.
배치 디스크립터에 EGL 바인딩 설정
Rich UI 외부에서 작업 중에 로컬 EGL 서비스에 액세스하는 경우에는 EGL 배치 디스크립터에 서비스 바인딩을 설정해야 합니다. 이 규칙은 서비스 액세스 변수의 기초로 서비스 파트를 사용했는지, 또는 인터페이스 파트를 사용했는지에 관계없이 적용됩니다.
- 배치 디스크립터를 두 번 클릭하십시오.
- 서비스 바인딩 탭의 서비스 바인딩에서 추가를 클릭하십시오.
- 서비스 바인딩 추가 창에서 EGL 바인딩을 클릭한 후 다음을 클릭하십시오. EGL 바인딩 추가 창이 표시됩니다.
- 서비스 바인딩의 이름인 바인딩 키를 지정하십시오. 바인딩 키를 입력하거나 다음 작업을 수행하십시오.
- EGL 바인딩 이름 옆에 있는 찾아보기 단추를 클릭하십시오. 인터페이스 선택 창이 표시됩니다.
- 코드에서 서비스 액세스 변수의 기초가 된 인터페이스 파트의 이름을 선택하십시오. 해당 이름이 바인딩 키인 경우에는 코드에서 @BindService 특성을 코드할 때 이름을 지정할 필요가 없습니다.
- 확인을 클릭하십시오.
- 로컬을 선택하십시오.
- 완료를 클릭하십시오. 새 클라이언트 바인딩은 서비스 바인딩 목록에 나열되어 있습니다. 이 바인딩 정보는 나중에 EGL 서비스 바인딩 섹션에서 업데이트할 수 있습니다.
EGL 바인딩을 서비스 액세스 변수에 지정
myService MyInterfacePart {@BindService{bindingKey="MyInterfacePart"}};
- bindingKey
- 바인딩이 요청자에게 로컬임을 표시하는 배치 디스크립터 항목을 식별합니다.
MyService MyInterfacePart {@BindService};
런타임 시에 서비스 바인딩을 지정하거나 다시 지정하는 데 대한 세부사항은 "서비스 액세스 변수의 동적 바인딩"을 참조하십시오.