2014-09-02 3 views
1

Я пытаюсь использовать веб-службу с использованием аутентификации ntlm. Следующий код работает в РубинеJRuby Savon Ntlm Authentication (работает в Ruby, но не удается в JRuby)

 client = Savon.client(wsdl:"http://xxxxxxx/xxxxxxx/xxxxxx.asmx?WSDL",ntlm: ["user", "pass"]) 
     response = client.call(:does_entry_id_exist, message: { 
            :server =>'xxxxxx', 
            :entryID =>'xxxxxx' 
            }).to_s 

Но когда я пытаюсь исполнить его в JRuby он дает мне ошибку аутентификации

Install the httpi-ntlm gem for experimental NTLM support 

я установил камень и включил то же самое в моем коде, но все-таки это взрывает бомбы. Кто-нибудь может помочь.

+0

Я установил «httpi-NTLM 'драгоценный камень и удалил' httpi 'gem и заставил его работать. Но теперь я столкнулся с ошибкой SOAP 401. – user1766815

ответ

0

У нас была аналогичная проблема, и, к сожалению, я застрял с JRuby 1.6.8. Нам пришлось отказаться от Савон и использования: пью-NTLM-Http камень с httpi-NTLM, чтобы, наконец, получить проверки подлинности NTLM для работы:

https://rubygems.org/gems/pyu-ntlm-http

http://rubydoc.info/gems/pyu-ntlm-http/0.1.3.1/frames

request = HTTPI::Request.new 
request.url = "http://WebserviceURL" 
request.auth.ntlm "username","password" 
request.headers["Content-Type"] = "text/xml; charset=UTF-8" 
request.headers["SOAPAction"] = "action" 
request.body = formatted_soap_body 
response = HTTPI.post(request) 

 Смежные вопросы

  • Нет связанных вопросов^_^