Delphi Can
Array oluşan değişken (ÇÖZÜLDÜ) - Baskı Önizleme

+- Delphi Can (https://www.delphican.com)
+-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3)
+--- Forum: Genel Programlama (https://www.delphican.com/forumdisplay.php?fid=6)
+--- Konu Başlığı: Array oluşan değişken (ÇÖZÜLDÜ) (/showthread.php?tid=6594)



Array oluşan değişken (ÇÖZÜLDÜ) - KUNTAY - 09-02-2022

Geçen gün bir WSDL web servis üzerinden soap ile veri çekmek ile ilgili bir konu açmıştım. 
Onu bir noktaya geterebildim. 

WSDL import ile çektiğim kayıtlara göre 

kukllandığım fonksiyon :
Kod:
 function  SalesWaybillSearch(const SearchParameter: InvoiceSearchParameter; const AuthorizationKey: string; const ActiveCompany: string; const ActiveBranch: string): ArrayOfInvoiceParameter2; stdcall;

Bu fonksiyon ile bir irsaliye dökümü ArrayOfInvoiceParameter2 olarak bana dönecek.

 ArrayOfInvoiceParameter2 = array of InvoiceParameter2;   { "http://tempuri.org/"[GblCplx] }  // Buradaki array de invoiceparameter2 den kalıtım alıyor.

  InvoiceParameter2 = class(BaseParameter) // bir class

Benim kodum şu 
Kod:
var
BDateTime, EDateTime : TXSDateTime;
SearchParam:  InvoiceSearchParameter;
irsaliye_list : ArrayOfInvoiceParameter2;
k : string;
begin
SearchParam := InvoiceSearchParameter.Create();

BDateTime :=TXSDateTime.Create;
EDateTime:=TXSDateTime.Create;
BDateTime.AsDateTime := StrToDateTime('01.01.2022 00:00:00');
EDateTime.AsDateTime:= StrToDateTime('31.12.2022 00:00:00');
SearchParam.BeginDate:= BDateTime;
SearchParam.EndDate:= EDateTime;

irsaliye_list := GetSalesPurchaseSoap.SalesWaybillSearch(SearchParam, Key, '****','****');

//irsaliye:=irsaliye_list[0].InvoiceNumber;
end;

Asıl sorum şu : kendi kodumu çalıştırdığım zaman irsaliye_list bir veri çekiyor ama kontrol ettiğimde içi boş gibi görünüyor. 
Bu soap verisini SoapUI yazılımı ile yaptığımda aynı tarih formatları ile bana veri dönüyor. 

Ben array olan değişkenim de ne gibi bir hata yapıyorum bu array değişken  invoiceparameter2  class kalıtım aldığı için benim bunu create etmem gerekirmi veriyi web servisten çekmeden önce. 

daha önce web servise veri gönderirken önce class create edip için doldurup web servise veri gönderimini yapıyorum 
fakat web servisten veri çekerken irsaliye_list direk işlem yapmak doğrumu.


Cvp: Array oluşan değişken - KUNTAY - 10-02-2022

(09-02-2022, Saat: 15:15)KUNTAY Adlı Kullanıcıdan Alıntı: Geçen gün bir WSDL web servis üzerinden soap ile veri çekmek ile ilgili bir konu açmıştım. 
Onu bir noktaya geterebildim. 

WSDL import ile çektiğim kayıtlara göre 

kukllandığım fonksiyon :
Kod:
 function  SalesWaybillSearch(const SearchParameter: InvoiceSearchParameter; const AuthorizationKey: string; const ActiveCompany: string; const ActiveBranch: string): ArrayOfInvoiceParameter2; stdcall;

Bu fonksiyon ile bir irsaliye dökümü ArrayOfInvoiceParameter2 olarak bana dönecek.

 ArrayOfInvoiceParameter2 = array of InvoiceParameter2;   { "http://tempuri.org/"[GblCplx] }  // Buradaki array de invoiceparameter2 den kalıtım alıyor.

  InvoiceParameter2 = class(BaseParameter) // bir class

Benim kodum şu 
Kod:
var
BDateTime, EDateTime : TXSDateTime;
SearchParam:  InvoiceSearchParameter;
irsaliye_list : ArrayOfInvoiceParameter2;
k : string;
begin
SearchParam := InvoiceSearchParameter.Create();

BDateTime :=TXSDateTime.Create;
EDateTime:=TXSDateTime.Create;
BDateTime.AsDateTime := StrToDateTime('01.01.2022 00:00:00');
EDateTime.AsDateTime:= StrToDateTime('31.12.2022 00:00:00');
SearchParam.BeginDate:= BDateTime;
SearchParam.EndDate:= EDateTime;

irsaliye_list := GetSalesPurchaseSoap.SalesWaybillSearch(SearchParam, Key, '****','****');

//irsaliye:=irsaliye_list[0].InvoiceNumber;
end;

Asıl sorum şu : kendi kodumu çalıştırdığım zaman irsaliye_list bir veri çekiyor ama kontrol ettiğimde içi boş gibi görünüyor. 
Bu soap verisini SoapUI yazılımı ile yaptığımda aynı tarih formatları ile bana veri dönüyor. 

Ben array olan değişkenim de ne gibi bir hata yapıyorum bu array değişken  invoiceparameter2  class kalıtım aldığı için benim bunu create etmem gerekirmi veriyi web servisten çekmeden önce. 

daha önce web servise veri gönderirken önce class create edip için doldurup web servise veri gönderimini yapıyorum 
fakat web servisten veri çekerken irsaliye_list direk işlem yapmak doğrumu.

Sorunu filddler programı ile request kaydını kontrol edip soapui programı ile deneme yanılma yolu ile buldum. 

SearchParam değerinin içinde  <IsExport>0</IsExport> bir değer gidiyor aslında 20 - 30 adet değer var giden bunlardan sadece bu değeri silince veri geliyor.

bunu searchparam içinden çıkartmayı başaramayınca WSDL ile oluşan unit içinden kaldırdım şuan veriler geliyor.