【问题标题】:Consuming Web Services with Ruby/Powershell使用 Ruby/Powershell 使用 Web 服务
【发布时间】:2011-11-07 20:08:37
【问题描述】:

目前我使用 Ruby 作为配置管理支持的核心编程语言。由于 Ruby (1.9.3) 的新版本,我无法使用 gem 配置来使用使用 NTLM 身份验证的 Web 服务。这是我使用 ruby​​ 1.9.1 的 gem 配置。

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 任务,而无需创建对越来越多 gem 的依赖项并制作它很难维护和更新。最初,我想为某些任务创建一个 c# 控制台工具,但我发现了有关 powershell 的信息。我尝试使用soap4r,但不适用于1.9.3,但它适用于1.9.1(自定义固定gem)。我尝试了 savon gem,但 NTLM 身份验证没有成功结果。也许是时候使用两个脚本引擎的组合来保持它的可维护性了。有什么想法吗。

【问题讨论】:

    标签: ruby scripting powershell savon soap4r


    【解决方案1】:

    只有你了解你的大局,但在 PowerShell 中,如果你想调用一个使用 NTLM 保护的 Web 服务,很简单:

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

    如果您想提示输入凭据,请使用get-credential

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-24
      • 2012-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多