281.6. 샘플

281.6.1. Restlet Endpoint with Authentication

다음 경로는 http://localhost:8080 에서 POST 요청을 수신하는 restlet 소비자 끝점을 시작합니다. 프로세서는 요청 본문과 id 헤더 값을 에코하는 응답을 생성합니다.

URI 쿼리의 restletRealm 설정은 레지스트리에서 Realm 맵을 검색하는 데 사용됩니다. 이 옵션을 지정하면 restlet 소비자는 정보를 사용하여 사용자 로그인을 인증합니다. 인증된 요청만 리소스에 액세스할 수 있습니다. 이 샘플에서는 레지스트리 역할을 하는 Spring 애플리케이션 컨텍스트를 생성합니다. Realm Map의 빈 ID는 restletRealmRef 와 일치해야 합니다.

다음 샘플은 http://localhost:8080 서버에 요청을 보내는 직접 엔드 포인트 (즉, 우리의 restlet 소비자 끝점)를 시작합니다.

이것이 우리가 필요로 하는 모든 것입니다. 요청을 보내고 restlet 구성 요소를 사용해 볼 수 있습니다.

샘플 클라이언트는 다음 헤더를 사용하여 요청을 direct:start-auth 엔드포인트에 보냅니다.

  • CamelRestletLogin ( Camel에서 내부적으로 사용)
  • CamelRestletPassword ( Camel에서 내부적으로 사용)
  • ID (애플리케이션 헤더)
참고

org.apache.camel.restlet.auth.loginorg.apache.camel.restlet.auth.password 는 Restlet 헤더로 전파되지 않습니다.

샘플 클라이언트는 다음과 같은 응답을 받습니다.

received [<order foo='1'/>] as an order id = 89531