프로젝트에서 New Item 을 실행한 후, DataSnap REST Client Module 을 추가한다.
REST Application Server 가 다른 서버에 위치하는 경우엔 Remote Server 를 선택한다.
해당 서버가 단독 실행형이 아닌 IIS 에서 동작한다면, IIS module 을 선택한다.
Host name 에 서버의 주소를 입력하고, Port 는 IIS 의 포트를 입력한다. 각종 테스트로 인하여 예제를 든 서버의 경우 9090 포트를 사용하고 있다. URL path 에 어플리케이션 서버가 위치하고 있는 경로를 입력한다.(예로 든 IIS 설정은
2012/06/05 - [프로그래밍/Delphi] - DataSnap REST Application ISAPI 배포 - IIS 7.5 의 내용 참고)
Test Connection 버튼을 눌러 정상적으로 연결되는지 확인한다.
Finish 버튼을 클릭하면 자동으로 소스가 생성된다.(서버와 통신을 통하여 호출시 필요한 소스가 자동으로 생성된다.)
이름을 변경하고 모두 저장한다.(네임스페이스 등을 이용하여 소스를 정리하는 것이 좋을 것 같다. 일단, 예전 네임스페이스가 지원되지 않았을 때의 네이밍 규칙을 사용하여 저장하였다.)
이후, REST API 호출은 다음과 같이 사용한다.
var
Keyword, Result: String;
JSONArray: TJSONArray;
begin
Keyword := '구로';
JSONArray := ClientModuleILPost.ServerMethodsPostClient.ZipcodeData(Keyword, 1, 10);
Result := JSONArray.ToString;
호출시 클라이언트 모듈을 재생성 시키려면 다음과 같이 한다.
var Keyword, Result: String; JSONArray: TJSONArray; begin Keyword := '구로'; if Assigned(ClientModuleILPost) then FreeAndNil(ClientModuleILPost); ClientModuleILPost := TClientModuleILPost.Create(nil); JSONArray := ClientModuleILPost.ServerMethodsPostClient.ZipcodeData(Keyword, 1, 10); Result := JSONArray.ToString; end;
모듈쪽 소스는 다음과 같이 변경한다.
initialization ClientModuleILPost := nil; // ClientModuleILPost := TClientModuleILPost.Create(nil); // //finalization // ClientModuleILPost.Free;
끝~
반응형
'프로그래밍 > PC' 카테고리의 다른 글
FieldByName 사용팁 (0) | 2012.07.25 |
---|---|
ISAPI 기반 어플리케이션 서버의 데이터베이스 커넥션 처리 (0) | 2012.07.20 |
dbExpress MySQL 5.1 한글 테이블명 사용 (0) | 2012.06.26 |
Delphi XE2 에서 DataSnap REST Application Cross Domain 처리 (0) | 2012.06.20 |
Delphi XE2, dbExpress Oracle 10g 연동 (1) | 2012.05.30 |
댓글