Delphi. Работа с SOAP

Бюджет: 2 000 руб
27.10 $ – 22.89 €
Заказчик выбрал исполнителя:
Андрей Прокофьев  
Sydney 10.4.1. Ранее с soap никогда не работал.
Попробовал получить методы через Component>>Import WSDL. Ссылка в прикреплённом файле!
Однако формируется с ошибкой, и главное – запрашивается в методах те параметры, которых нет.
Использовал HTTPRIO.

Задача.
1. Сделать импорт WSDL и предоставить корректный файл для проекта.
2. Показать в коде обращения к методам с параметрами (как в неработающем примере ниже).

Например (так обратиться не получается по импортированному WSDL, но общий смысл что во втором пункте хочу получить):

    HTTPRIO1 := THTTPRIO.Create(nil);
    HTTPRIO1.HTTPWebNode.UserName := 'user';
    HTTPRIO1.HTTPWebNode.Password := 'password';
   AddSoapHeaderSecurity(WS,'user','password');
   Memo1.Lines.Add((HTTPRIO1 as IPOInsuranceService).getDictionaries('?')); 

//
procedure AddSoapHeaderSecurity(aService: IInvokable; aUserName, aPassword: string);
var
  Wsse: Security;
  Headers: ISOAPHeaders;
begin
  Wsse:=Security.Create;
  Wsse.MustUnderstand:=True;
  Wsse.UsernameToken:=UsernameToken.Create;
  Wsse.UsernameToken.Id:=TGuid.NewGuid.ToString;
  Wsse.UsernameToken.Username:=aUserName;
  Wsse.UsernameToken.Password:=Password.Create;
  Wsse.UsernameToken.Password.Type_:='docs.oasis-open.org/wss/2...
  Wsse.UsernameToken.Password.Text:=aPassword;
  Wsse.Timestamp:=Timestamp.Create;
  Wsse.Timestamp.Created:=Created.Create;
  Wsse.Timestamp.Created.AsDateTime:=Now-1/24/60;
  Wsse.Timestamp.Expires:=Expires.Create;
  Wsse.Timestamp.Expires.AsDateTime:=Now+5/24/60;

  Headers:=aService as ISOAPHeaders;
  Headers.OwnsSentHeaders:=True;
  Headers.Send(Wsse);
end;
Опубликован 26.04.2021 в 14:23 Последнее изменение: 26.04.2021 в 19:57

Выберите способ верификации:

Обновите страницу после прохождения верификации.