Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
[Çözüldü] - WSDL importer / Unable to load WSDL File/Location Hatası
#21
(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;
Cevapla


Bu Konudaki Yorumlar
Cvp: WSDL importer / Unable to load WSDL File/Location Hatası - Yazar: Mesut - 21-05-2024, Saat: 01:24

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Runtime error 236 hatası yhackup 6 710 29-07-2026, Saat: 00:10
Son Yorum: emailx45
  matematiksel karşılaştırma hatası nevzatc 7 995 14-04-2026, Saat: 06:36
Son Yorum: emailx45
  SQL Table Type parametre gecisi hakkında (Çözüldü) adelphiforumz 1 397 09-04-2026, Saat: 15:53
Son Yorum: adelphiforumz
  Delphi ile SQL server bağlantı hatası yakalama Under 20 3.159 21-11-2025, Saat: 15:24
Son Yorum: mrmarman
  OpenSSL Hatası mcuyan 1 675 29-04-2025, Saat: 02:28
Son Yorum: mcuyan



Konuyu Okuyanlar: 1 Ziyaretçi