Skip to content
coldnebo edited this page Dec 31, 2012 · 10 revisions

Status

This fork has been submitted as pull request savonrb/httpi#59 and is awaiting inclusion in savonrb/httpi master.

How to Use

Just put this in your gemfile and smoke it...

gem 'httpi', :git => "https://github.com/coldnebo/httpi.git"

You can use NTLM connections with HTTPI directly:

HTTPI::Adapter.use = :net_http
request = HTTPI::Request.new("http://a_legacy_ntlm_protected_site")
request.auth.ntlm(user,pass)
response = HTTPI.get request

Or, use it with Savon pointed at Microsoft Sharepoint site on your intranet protected with NTLM:

HTTPI::Adapter.use = :net_http

client = Savon::Client.new do |wsdl, http|
  wsdl.document = "http://sharepoint_site"
  http.auth.ntlm(user, pass)
end

# List available SOAP actions
puts client.wsdl.soap_actions

Oh wow! YES!! THANK YOU!!

External NTLM Server Test Plan

For devs wishing to test this gem with an external NTLM server (i.e. Windows 2012 Server), I've written up an NTLM Integration Test Plan that will get you started.

Motivation for this Fork

I was trying to use Savon pointed at a Sharepoint intranet site guarded by NTLM authentication. The ntlm experimental branch of httpi didn't actually work for me and seems to have gone somewhat stale.

So I switched the ntlm implementation to use rubyntlm which is native ruby, works on all platforms, and supports NTLM v2.