Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Soap, HTTPRIO и SSL (Ошибочная авторизация сертификата) [WinXP]


DSKalugin ©   (2009-01-08 12:57:00) 

Делаю клиентскую часть к вебсервису на BDS2006
Использую компонент HTTPRIO
Импортировал WSDL, получил класс заголовка CigWsHeader и интерфейс вебсервиса ServiceSoap

 CigWsHeader = class(TSOAPHeader)
 private
   FUserName: WideString;
   FPassword: WideString;
   FVersion: WideString;
   FCulture: WideString;
   FSecurityToken: WideString;
   FUserId: Integer;
 published
   property UserName: WideString read FUserName write FUserName;
   property Password: WideString read FPassword write FPassword;
   property Version: WideString read FVersion write FVersion;
   property Culture: WideString read FCulture write FCulture;
   property SecurityToken: WideString read FSecurityToken write FSecurityToken;
   property UserId: Integer read FUserId write FUserId;
 end;

ServiceSoap = interface(IInvokable)
******
function  GetVersion: WideString; stdcall;
end;

вызываю GetVersion

procedure TForm1.Button1Click(Sender: TObject);
var hdr: CigWsHeader;
   pvbkiService: ServiceSoap;
begin
 hdr:=CigWsHeader.Create;
 hdr.UserName:='****';   // UserName
 hdr.Password:='****';    // Password

 try
//rioPVBKI это THTTPRIO;
   rioPVBKI.WSDLLocation:='https://test.pvbki.com/DataPump/service.asmx?WSDL';
   rioPVBKI.Service:='ServiceSoap';
   rioPVBKI.Port:='Service';
   rioPVBKI.SOAPHeaders.Send(hdr);
   Label1.Caption:=(rioPVBKI as ServiceSoap).GetVersion;

 finally
   hdr.Free;
 end;

Ошибка «Ошибочная авторизация сертификата»
Есть файлы сертификатов *.cer, но не знаю как их подключать.
Подскажите как тут правильно их использовать или что я делаю не так?


NiGGa   (2009-01-28 22:16:00) [1]

Вот мне пришлось повторить тот же подвиг( только на Д7. Код абсолютно тот же по усти за исключением того что WSDLLocatioт := https://secure.pvbki.com/test/DataPump/Service.asmx?WSDL. Видимо переехала тестировочная площадка)
Но в ответ получаю Server was unable to process request. ---> Invalid username/password . Шутка как раз в том, что задаваемый мною логин/пасс корректны, т.к. в аналагочной софтине на С# работает.
Я так понимаю у меня есть некие искажения передаваемых данных, которые содержаться в заголовке или что еще.
Собственно вопрос в том, каким образом лечиться феномен?


DSKalugin   (2009-01-08 18:38:00) [2]

Отвечаю

Вопрос использования сертификатов на клиентской стороне решается ручной установкой их через certmgr.msc или через меню интернет эксплорера:
Сервис - свойства - содержание - сертификаты
А также включение галок SSL* в соседней вкладке "Дополнительно"


Наверх

Титульная страница Поиск, карта сайта Написать письмо