본문 바로가기

Rest3

Delphi XE2 에서 DataSnap REST Application Client 프로젝트에서 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 의 .. 2012. 7. 13.
Delphi XE2 에서 DataSnap REST Application Cross Domain 처리 기껏 REST 서버를 구축하여도 만약 해당 서버 어플리케이션의 API를 또 다른 서버에서 호출하여 사용할 경우, 접근 권한 문제가 발생한다.(대충 그려보았다.) 이를 해결하는 다양한 방법들이 존재하는데... 익스플로러 및 어지간한 예전 웹브라우저들까지 모두 지원하려면 JSONP 를 사용하여야 한다.(서버에서 access-control-allow-origin:* 을 헤더에 싣는 방법도 있지만, 최신 웹브라우저에서만 올바르게 동작하며 익스플로러에선 제대로 동작하지 않는다.) 일단, JSONP 에서 요구하는 형태로 결과를 반환하여야하는데 XE2 에 추가된 TDSHTTPWebDispatcher 의 FormatResult 이벤트 메소드를 아래와 같이 만지작거려야한다. procedure TWebModule1.DSH.. 2012. 6. 20.
DataSnap REST Application ISAPI 배포 - IIS 7.5 1. IIS 에서 ISAPI 사용 설정 IIS 관리자의 ISAPI 및 CGI 제한을 더블클릭한다. 기능 설정 편집... 을 클릭한 후, 지정하지 않은 ISAPI 모듈 허용을 선택한다. 2. IIS 가상 디렉토리 설정 별칭(Alias)을 지정한다. 해당 실제 경로에는 빌드된 파일들이 위치하고 있다. 추가된 Alias 를 선택한 후 응용 프로그램으로 변환을 실행한다. 응용 프로그램 추가 창이 뜨면 확인 버튼을 클릭한다. 3. 응용 프로그램 풀 검사 응용 프로그램 풀을 선택하고 DefaultAppPool 을 선택한 다음, 고급 설정을 클릭한다. 빌드한 DLL 이 32 비트인 경우, 일반 탭의 32비트 응용 프로그램 사용을 True 로 변경한다. 프로세스 모델의 ID 를 선택하고, 지정된 값이 Applicati.. 2012. 6. 5.