How can I use NTLM authentication in a Delphi SOAP Web Service client?

delphi, indy, ntlm, soap, web-services

Solution

In the user name property of the WebNode subcomponent of the THTTPRio component, use the domain name followed by a backslash and the user name:

'domain\username'

After entering the WSDL URL at designtime, the HTTPRIO component will list available port and services.

Problem

For a Microsoft CRM project, we need NTLM authentication in the Delphi 2009 web service client. It looks like Indy 10 Tiburon already has experimental NTLM support. How can I activate the NTLM authentication for the THTTPRio component and use the logon information (user name, password, domain) of the destination web service server? Edit: it would also be helpful if there is a way to use other authentication methods than 'Basic', for example HTTP Digest access authentication.

Original source