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;