2012-04-03 1 views
1

나는 savon을 사용하여 SOAP 웹 서비스와 통신합니다. 모두 잘 작동합니다. 이제 루비 코드를 프로덕션 환경으로 가져 와서 프록시 서버를 통과해야합니다. 이 프록시 서버에는 인증이 필요합니다.savonrb와의 프록시 인증 지정

제 질문은 어떻게하면 savon으로 프록시 서버 인증 세부 정보를 지정할 수 있습니까?

일부 추가 정보는 :

난 당신이 같은 프록시 서버를 지정할 수 있음을 알아 냈어요 :

client = Savon::Client.new do 
    ... 
    http.proxy = "http://proxy.example.com" 
end 

savon의 코드를 찾고를, 나는 발견 그에서 HTTP 변수 클라이언트 블록은 다음을 참조 :

def http 
    @http ||= HTTPI::Request.new 
end 

를 불행하게도, HTTPI :: 요청에 대한 코드를 통과, 나는 정통 지정하는 방법을 볼 수 없었다 프록시 자체에 대한 책임. 다음은 httpi 요청 코드입니다. https://github.com/rubiii/httpi/blob/master/lib/httpi/request.rb

HTTP 인증을 시도하지 않고 프록시 인증을 시도하고 있습니다. 어떤 사전에

감사를

407 "프록시 인증 필요": 프록시 서버를 지정할 때 내가 프록시 인증 자격 증명을 지정하는 방법을 찾을 수 없기 때문에

, 나는 다음과 같은 오류가 도움.

답변

3

이 시도 : http.proxy = "HTTP : // 사용자 이름 : 암호 @ 호스트 : 포트"BTW, 프록시가 지정 될 수

+0

할을 같은 엔드 블록 :'프록시 "HTTP :// ... "'http://savonrb.com/version2/globals.html –

1
Managed to resolve it with the following code: 

@proxy_path = '<insert your proxy url here>' 
@wsdl_path = '<insert your wsdl url here>' 

@client = Savon.client do |variable| 
    variable.proxy @proxy_path 
    variable.wsdl @wsdl_path 
end 
@client.operations #to list operations