Site icon Embarcadero RAD Studio, Delphi, & C++Builder Blogs

Basic Authentication in Delphi 7 SOAP

the future of starts demands massive productivity

Author: Tóth Erik

Back after a break. It’s been quite a while since I wrote, so I’ll cut to the chase. Question on newsgroups: How do I set username/password for Basic Authentication on SOAP.

Issues: The HTTPRio.HTTPWebNode.UserName and .Password properties are used only in situations where theres a proxy. But let’s assume you wanted to use these for basic authentication. You’re going to have to set an event handler for HttpRio.HttpWebNode.OnBeforePost. You get a Data parameter here, and this is the HRequest used for sending the data.

All you now have to do is write something like this in the event handler:


if not InternetSetOption(Data,
INTERNET_OPTION_USERNAME,
PChar(HTTPRIO1.HTTPWebNode.UserName),
Length(HTTPRIO1.HTTPWebNode.UserName)) then
ShowMessage(SysErrorMessage(GetLastError));

if not InternetSetOption(Data,
INTERNET_OPTION_PASSWORD,
PChar(HTTPRIO1.HTTPWebNode.Password),
Length (HTTPRIO1.HTTPWebNode.Password)) then
ShowMessage(SysErrorMessage(GetLastError));

You can of course set any other password you want. Note: You need to add WinInet and SOAPHttpTrans to your uses clause.

Exit mobile version