Hi Dariusz,
I’m not really shure what you mean by building an NTLM auth object.
What I can do at this point is to call the SOAP service with Suds + python-ntlm libraries. It looks like this:
from suds.client import Client
from suds.transport.https import WindowsHttpAuthenticated
url =
ntlm = WindowsHttpAuthenticated(username=‘xxx’, password=‘yyy’)
client = Client(url, transport=ntlm)
result = client.service.SayHello()
print result
This works fine. But what exactly is needed to get it working in Zato?
Finn Gruwier Larsen
-----Oprindelig meddelelse-----
Fra: Zato-discuss [mailto:zato-discuss-bounces@lists.zato.io] På vegne af Dariusz Suchojad
Sendt: 29. januar 2014 12:35
Til: zato-discuss@lists.zato.io
Emne: Re: [Zato-discuss] Outgoing SOAP connection with NTML authentication
On 01/29/2014 12:28 PM, Finn Gruwier Larsen wrote:
I need to contact a Microsoft Dynamics NAV server that uses NTLM authentication. Zato 1.1 doesn’t seem to know this security model.
I have noticed that there is a Python module for this
(https://code.google.com/p/python-ntlm/),
but I don’t have any idea how much effort it would take to implement this in Zato.
Is there any effort going on already, or does anyone have experience with this?
Hi Finn,
This could be certainly added but until it is, please have a look at this call.
https://zato.io/docs/progguide/outconn/http.html#post
In particular, args and kwargs and passed into requests
https://pypi.python.org/pypi/requests/
directly as is, so if you can build an NTLM auth object and pass it to the underlying library, this would be how this can be done as of now.
This library’s examples use urllib2 whereas requests uses its own copy
urllib3 - they are related so there’s a chance everything can be made to work together.
You’d probably have to build a sort of a gluing service akin to this OpenERP client
https://github.com/zatosource/zato-labs/blob/master/openerp-client/code/src/zato/openerp/init.py
off of which your business services would descend and inherit a method to use NTML.