2011-11-07 3 views
0

현재 구성 관리 지원을위한 핵심 프로그래밍 언어로 Ruby를 사용하고 있습니다. Ruby (1.9.3)의 새 릴리스 이후로 나는 보석 구성을 사용하여 NTLM 인증을 사용하는 웹 서비스를 사용할 수 없었습니다. 이것은 루비 1.9.1을 사용하는 나의 보석 구성이다.Ruby/Powershell을 사용하여 웹 서비스 사용하기

httpclient (2.2.3) 
nokogiri (1.5.0 x86-mingw32) 
ocra (1.3.0) 
rake (0.9.2.2) 
rubysspi (1.3.1) 
soap4r (1.5.8) 
test-unit (2.4.0) 
trollop (1.16.2) 
win32-api (1.4.8 x86-mingw32) 
win32-eventlog (0.5.2.fix) 
windows-api (0.4.0) 
windows-pr (1.2.1) 

나는 항상 일을 단순하게 유지하려고 노력하지만 확실히 업데이트를 따라갈 수는 없습니다. 내가 구성 관리 지원을위한 전체 루비 구현을 사용하는 대신 생각하고 있었을 수 있습니다 (필자는 전혀 좋아하지 않는다) 스크립팅 엔진 (powershell)을 사용하여 점점 더 많은 보석과 의존성을 만들지 않고 특정 Microsoft 업무를 수행 할 수 있습니다. 유지 보수 및 업데이트가 너무 어렵습니다. 원래, 나는 certaing 작업을위한 C# 콘솔 도구를 만들려고했지만 powershell에 대해 발견했습니다. soap4r을 사용하려고 시도했는데 1.9.3에서 작동하지 않지만 1.9.1 (사용자 정의 고정 보석)에서 작동합니다. 내가 savon 보석을 시도했지만 NTLM 인증에 대한 성공적인 결과가 없습니다. 유지 관리하기 위해 두 개의 스크립팅 엔진을 함께 사용해야 할 때가 있습니다. 이견있는 사람.

답변

1

만 당신은 당신의 큰 그림을 이해하지만 당신은 NTLM로 보안 웹 서비스를 호출 할 것처럼 PowerShell에서, 그것은으로 쉽게 :

# call webservice using the current user's credentials 
$proxy = new-webserviceproxy $url -usedefaultcredential 
$result = $proxy.method($param1, $param2) 

당신은 자격 증명을 요청하려는 경우는, get-credential

를 사용
관련 문제