21-05-2024, Saat: 01:24
(20-05-2024, Saat: 20:09)mrmarman Adlı Kullanıcıdan Alıntı: Eğer VakifKatilim size çözüm sunmazsa size çözüm önerim şöyle olacak.
* Kendi projeniz için bir klasör belirleyin
* WSDL'yi daima kendiniz download edin.
* Sonra da HTTPRIO'ya file olarak kullanacağı şekilde parametresine bu indirdiğiniz WSDL' XML dosyasını verin.
nasıl mı sizin PAS içindeki fonksiyon aşağıdaki şekilde.
İlk parametre TRUE zaten
İkinci parametre 'Addr' için download ettiğiniz XML dosya yolunu verin. Addr boş olmadığı için def olan const içerik devre dışı kalacaktır.
Böylece Download edilemediği için taca çıkan topu yeniden oyuna sokmuş olacaksınız.
function GetICustomerTransactionService(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): ICustomerTransactionService; const defWSDL = '.\CustomerTransactionService.xml'; defURL = 'https://boa.vakifkatilim.com.tr/BOA.Integration.WCFService/BOA.Integration.CustomerTransaction/CustomerTransactionService.svc/Basic'; defSvc = 'CustomerTransactionService'; defPrt = 'BasicHttpBinding_ICustomerTransactionService'; var RIO: THTTPRIO; begin Result := nil; if (Addr = '') then begin if UseWSDL then Addr := defWSDL else Addr := defURL; end; if HTTPRIO = nil then RIO := THTTPRIO.Create(nil) else RIO := HTTPRIO; try Result := (RIO as ICustomerTransactionService); if UseWSDL then begin RIO.WSDLLocation := Addr; RIO.Service := defSvc; RIO.Port := defPrt; end else RIO.URL := Addr; finally if (Result = nil) and (HTTPRIO = nil) then RIO.Free; end; end;
@mrmarman Muharrem hocam dediğiniz şekilde sorunu şimdilik aştım gibi görünüyor tabi şimdi başak bir problem var ama en azından o kısmı geçtim.
aşağıdaki gibi yaptım ve HTTTPRIO bileşeni location olarak wsdl adresini değil aynı yolu gösterdim. bunlarla birlikte yapmamı önerdiğiniz bir adım varmıydı sanırım tüm adımlar bu şekildeydi.
function GetICustomerTransactionService(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): ICustomerTransactionService; const defWSDL = 'C:\yeniservisler\vakif_bot\CustomerTransactionService.xml'; defURL = 'https://boa.vakifkatilim.com.tr/BOA.Integration.WCFService/BOA.Integration.CustomerTransaction/CustomerTransactionService.svc/Basic'; defSvc = 'CustomerTransactionService'; defPrt = 'BasicHttpBinding_ICustomerTransactionService'; var RIO: THTTPRIO; begin Result := nil; if (Addr = '') then begin if UseWSDL then Addr := defWSDL else Addr := defURL; end; if HTTPRIO = nil then RIO := THTTPRIO.Create(nil) else RIO := HTTPRIO; try Result := (RIO as ICustomerTransactionService); if UseWSDL then begin RIO.WSDLLocation := Addr; RIO.Service := defSvc; RIO.Port := defPrt; end else RIO.URL := Addr; finally if (Result = nil) and (HTTPRIO = nil) then RIO.Free; end; end;