Использование веб-сервисов с Ruby / Powershell - PullRequest
0 голосов
/ 08 ноября 2011

В настоящее время я использую Ruby в качестве основного языка программирования для поддержки управления конфигурациями. После выхода новой версии Ruby (1.9.3) я не смог использовать конфигурацию gem для использования веб-сервисов с использованием аутентификации NTLM. Это моя конфигурация gem с использованием ruby ​​1.9.1.

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)

Я всегда стараюсь быть проще, но, конечно, не могу идти в ногу с обновлениями. Я думал, что вместо использования полной реализации ruby ​​для поддержки управления конфигурацией, может быть, пришло время использовать механизм сценариев Microsoft (который мне совсем не нравится) (powershell) для запуска конкретной задачи Microsoft без создания зависимостей для все большего количества драгоценных камней и создания это так сложно поддерживать и обновлять. Первоначально я думал создать консольный инструмент на c # для выполнения определенных задач, но я нашел в PowerShell. Я пытался использовать soap4r и не работает на 1.9.3, но работает на 1.9.1 (пользовательский фиксированный гем). Я пробовал savon gem, но безуспешных результатов для аутентификации NTLM. Может быть, пришло время использовать комбинацию из двух скриптовых движков, чтобы поддерживать его в обслуживании. Какие-нибудь мысли.

1 Ответ

1 голос
/ 08 ноября 2011

Только вы понимаете свою общую картину, но в PowerShell, если вы хотите вызвать веб-службу, защищенную с помощью NTLM, это так же просто, как:

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

Если вы хотите запросить учетные данные, используйте get-credential

...