views:

1530

answers:

2

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.

A: 

I'm not entirely sure I understand your question - activate NTLM authentication? If you're looking for NTLM API imports for Delphi, you can find those in the JEDI Windows Security Library on the JEDI API home page. If the plan is to see how to use it, I'd say MSDN is your friend.

Cobus Kruger
Thanks for the hint, I have modified the texte: How can I activate the NTLM authentication for the THTTPRio component. The NTLM API imports are there and also a IdAuthenticateNTLM.pas. If the only way is to modify the Delphi HTTPRio / HTTPSoap classes, to use the NTLM API, integration of the CRM web service would be easier done in C# (or even Java) with an additional message exchange layer.
mjustin
+2  A: 

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.

In a HTTP proxy (Don's Proxy), NTLM is displayed as the request authentication type.

mjustin