Bir delphi programında (hizmet olarak çalışıyor) bazı web servislerini çağırmam gerekir.
Temel Kimlik Denetimleri gerekli değilse, çağrılar düzgün çalışır. Webservice çağrısı sırasında iletişim kutusu (Temel Kimlik Doğrulama istemi) nasıl engellenir?
InternetSetOption(Data, INTERNET_OPTION_USERNAME,...
InternetSetOption(Data, INTERNET_OPTION_PASSWORD,...
Ama Temel Kimlik Doğrulama requeried ve kullanıcı adı olup olmadığını/şifre sağlanmaz
program af istemini getirir: Temel Kimlik Doğrulama requerired ve kullanıcı adı/şifre kullanılarak (BeforePost cinsinden) sağlanırsa aramalar da gayet iyi çalışıyor kullanıcı adı/parola (bir servisteki NO-GO).Nasıl bir istem istemediğimi nasıl işaret edebilirim, bunun yerine bir hata mı?
Sorun şu ki, SOAPHTTPTrans işlevinde THTTPReqResp.Send (const ASrc: TStream): Tamsayı; (satır 762 (InternetErrorDlg i yöntemine ikinci çağrı)).
Edit1: i INTERNET_FLAG_NO_AUTH içerecek şekilde (SOAPHTTPTRANS olarak) gönderme yönteminin başında Flags değiştirirseniz i istediği gibi
işe yarıyor.
Ancak bunu SAOPHTTPTrans'ı değiştirmeden nasıl yapabilirim (mümkünse)?
EDIT2: AvailabilityServiceSoap WSDL ileti kullanılarak oluşturulan bir arayüz
ws := THTTPRIO.Create(Self);
ws.URL := 'http://excample.com/ws.asmx';
ws.HTTPWebNode.InvokeOptions := [soIgnoreInvalidCerts];
ws.HTTPWebNode.OnBeforePost := WebServiceCallBeforePost;
AvailabilityWebservice := (ws as AvailabilityServiceSoap);
sTemp := AvailabilityWebservice.GetVersion;
.
benzer bir başlığı varsa görebiliyordu? Bu mevcut davranışı bir hataya dönüştürebilir. –
THTTPReqResp Nesnesini nasıl kullanıyorsunuz? TSOAPConnection'un bir parçası olarak? –
Jeroen: Henüz denemedim, ama sorun işlem stoğunun girdi beklemesidir, bu yüzden hangig olarak görülüyor. – BennyBechDk