2014-02-11 4 views
1

기업 프록시 뒤에있는 재생 프레임 워크를 사용하여 WS 호출을하려고합니다. 현재 build.bat 파일에 http.proxyHost (user, pass, port) 매개 변수가 있습니다. 원하는 외부 URL에 URL 연결을 만들 수 있지만 Play의 WS API를 사용하려고 할 때 407 인증 요구 오류가 발생합니다. build.bat에서 프록시 인증 매개 변수를 제거하고 application.conf 파일에 매개 변수를 넣으려고했지만 아무런 차이가 없습니다.WS 프록시 인증이 필요합니다.

final Promise<Result> result = WS.url(endpoint).get().map(
      new Function<WS.Response, Result>() { 
       public Result apply(WS.Response response) { 
        return ok(response.getStatus() + " " + response.getBody() + " " + response.getStatusText()); 
       } 
      } 
    ); 

업데이트 : 디버깅하는 동안 구성 객체의 값을 살펴 봤는데 모든 것이 설정되어있는 것으로 보입니다.

Play.application().configuration().getString("http.proxyHost") 
Play.application().configuration().getString("http.proxyPort") 
Play.application().configuration().getString("http.proxyUser") 
Play.application().configuration().getString("http.proxyPassword") 

답변

-1

나는 이유를 알고하지 않습니다 ... 난 아직 인증 문제납니다 이유에 혼란 만 ws.useProxyProperties 설정 = 거짓 일 것 같았다. 응용 프로그램에서 빌드 파일의 Proxy 속성을 사용해야한다고 생각 하겠지만 그렇지 않은 것처럼 보입니다.

+0

잘못된 해결책은 프록시 사용을 비활성화하는 것입니다. 하지만 configred 프록시가 보낸 407 개의 응답을 따르는 이슈로 play ws api (또는 AsyncHttpClient)를 사용하거나 첫 번째 호출에서 http auth를 사용합니다. – Benoit

관련 문제