Tüm Platformlar için Hızlı Uygulama Geliştirme Kitabı... Delphi
Ön Sipariş Talebinde Bulunan Üyelerimiz
Sipariş Talebinde Bulunan Üyelerimiz

Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 2/5 - 2 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Hal Kayıt Sistemi Web Servis
#1
Merhaba Arkadaşlar,
Hal kayıt web servis sistemine kayıt ile ilgili desteğe ihtiyacım var.Fiddler ile xml veriyi aldım ve olması gereken ile karşılaştırdım yinede sorun devam ediyor.
Aldığım hata

Kod:
Object reference not set to an instance of an object.


var
servis : IBildirimService;
gonder  :BaseRequestMessageOf_ListOf_BildirimKayitIstek;
cevap  :BaseResponseMessageOf_ListOf_BildirimKayitCevap;
istk: ArrayOfBildirimKayitIstek;


begin

servis:= GetIBildirimService(false,'',nil);
try
screen.Cursor := crHourGlass;

gonder       :=   BaseRequestMessageOf_ListOf_BildirimKayitIstek.Create;

SetLength(istk,1);
istk[0] := BildirimKayitIstek.Create;
 gonder.istek:=istk;

gonder.UserName := _username;
gonder.Password := _pass;
gonder.ServicePassword := _webpass ;



gonder.istek[0].UniqueId :='****-6**56';
gonder.istek[0].BildirimTuru :=206; 
gonder.istek[0].ReferansBildirimKunyeNo :=0;

gonder.istek[0].BildirimciBilgileri := BildirimciBilgileriDTO2.Create;
gonder.istek[0].BildirimciBilgileri.KisiSifat :=6; //Tüccar hal içi


gonder.istek[0].IkinciKisiBilgileri := IkinciKisiBilgileriDTO2.Create;
gonder.istek[0].IkinciKisiBilgileri.CepTel := '*******';  //+
gonder.istek[0].IkinciKisiBilgileri.Eposta := '';  //+
gonder.istek[0].IkinciKisiBilgileri.TcKimlikVergiNo := '*******'; //+
gonder.istek[0].IkinciKisiBilgileri.YurtDisiMi := false; //+
gonder.istek[0].IkinciKisiBilgileri.KisiSifat := 4; //+
gonder.istek[0].IkinciKisiBilgileri.AdSoyad := '**** *****'; //+

gonder.istek[0].BildirimMalBilgileri :=  BildirimMalBilgileriDTO.Create;
gonder.istek[0].BildirimMalBilgileri.UretimIlId:= 15; 
gonder.istek[0].BildirimMalBilgileri.UretimIlceId:= 855;
gonder.istek[0].BildirimMalBilgileri.UretimBeldeId:= 785; 
gonder.istek[0].BildirimMalBilgileri.MalinNiteligi:= 1;  
gonder.istek[0].BildirimMalBilgileri.MalinKodNo:= 319 ; 
gonder.istek[0].BildirimMalBilgileri.UretimSekli:= 28; 
gonder.istek[0].BildirimMalBilgileri.MalinCinsiId:= 1265; 
gonder.istek[0].BildirimMalBilgileri.MiktarBirimId:= 74; 
gonder.istek[0].BildirimMalBilgileri.MalinMiktari:= 250;
gonder.istek[0].BildirimMalBilgileri.MalinSatisFiyat:= 0.50; 
gonder.istek[0].BildirimMalBilgileri.GelenUlkeId:= 0; 
gonder.istek[0].BildirimMalBilgileri.AnalizeGonderilecekMi:=false;


gonder.istek[0].MalinGidecekYerBilgileri :=  MalinGidecekYerBilgileriDTO2.Create;
gonder.istek[0].MalinGidecekYerBilgileri.GidecekYerIsletmeTuruId:=7;// hal içi işyeri
gonder.istek[0].MalinGidecekYerBilgileri.GidecekIsyeriId:=47477;
gonder.istek[0].MalinGidecekYerBilgileri.GidecekUlkeId:=0;
gonder.istek[0].MalinGidecekYerBilgileri.GidecekYerIlId:=70;
gonder.istek[0].MalinGidecekYerBilgileri.GidecekYerIlceId:=78;
gonder.istek[0].MalinGidecekYerBilgileri.GidecekYerBeldeId:=45794;
gonder.istek[0].MalinGidecekYerBilgileri.BelgeNo:='F0002';
gonder.istek[0].MalinGidecekYerBilgileri.BelgeTipi:=208; 
gonder.istek[0].MalinGidecekYerBilgileri.AracPlakaNo:='******'; 





cevap  := servis.BildirimServisBildirimKaydet(gonder) ;

showmessage(IntToStr(cevap.Sonuc[0].YeniKunyeNo));
try
     showmessage(CEVAP.HataKodlari[0].mesaj);
     except

       showmessage(CEVAP.IslemKodu);
    end;


   finally
    Screen.Cursor := crDefault;

END;




Saygılar.
Cevapla
#2
Dolması gereken bazı bilgileri doldurmamışsın..
Amatör Küme Bilgisayar Programcısı
WWW
Cevapla
#3
Delphi tarafında gönderdiğiniz XML ile, ekteki Fiddler dosyasını karşılaştırabilirsiniz.


Ek Dosyalar
.zip   Hal.zip (Dosya Boyutu: 5,09 KB / İndirme Sayısı: 25)
WWW
Cevapla
#4
Ne kadar açıklayıcı kod yazmışsınız maşallah,

Ben olsam Bu kodu,
gonder.istek[0].BildirimMalBilgileri.UretimBeldeId:= 785; 

Böyle yazardım.
Send.Req[0].NPI.BeldeId:= 785; 


Değişkenlerimi olabildiğince kısa tutuyorum, Hatta eğer yapabiliyorsam tek harf kullanıyorum Smile
procedure hihaho;
var T:TStringList;
begin
  T := TStringList.Create;
  try
    T.Add('');
  finally
  T.Free;
  end;
end;
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Kuvvete dayanamayan adalet aciz, 
Adalete dayanamayan kuvvet zalimdir.
WWW
Cevapla
#5
Merhaba,
Konu biraz içeriğin dışına çıkmış gibi olacak ama;
Kodun revizyonu ve sürdürülebilirliği için kullanılan değişken veya metod isimleri, kullanım amacını yansıtacak nitelikte ve işi anımsatıcı nitelikte olmalıdır.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#6
Evet; programlamanın en temel kurallarındandır: Değişken isimleri mümkün olduğunca açıklayıcı olmalıdır. Sonradan kodu okuyan için anlaması kolay olacak isimler seçilmelidir.
Faydalı:
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
There's no place like 127.0.0.1
WWW
Cevapla
#7
(29-11-2017, Saat: 21:52)yhackup Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlNe kadar açıklayıcı kod yazmışsınız maşallah,

Ben olsam Bu kodu,
gonder.istek[0].BildirimMalBilgileri.UretimBeldeId:= 785; 

Böyle yazardım.
Send.Req[0].NPI.BeldeId:= 785; 


Değişkenlerimi olabildiğince kısa tutuyorum, Hatta eğer yapabiliyorsam tek harf kullanıyorum Smile
procedure hihaho;
var T:TStringList;
begin
  T := TStringList.Create;
  try
    T.Add('');
  finally
  T.Free;
  end;
end;

bu degisken isimleri web servisten gelen isimler sanirim.
ayrica cokta kisa degisken isimleri kullanmanizi onermem.
ne uzun , ne kisa. anlasilabilecek kadar.
WWW
Cevapla
#8
Öncelikle cevap veren tüm arkadaşlara teşekkürler.

(29-11-2017, Saat: 20:52)barutali Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlDolması gereken bazı bilgileri doldurmamışsın..

Tüm alanları kontrol ettim ancak yine tekrar bakarım...

(29-11-2017, Saat: 21:00)ismailkocacan Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlDelphi tarafında gönderdiğiniz XML ile, ekteki Fiddler dosyasını karşılaştırabilirsiniz.

Teşekkür ederim.Bakacağım.

(29-11-2017, Saat: 22:00)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlMerhaba,
Konu biraz içeriğin dışına çıkmış gibi olacak ama;
Kodun revizyonu ve sürdürülebilirliği için kullanılan değişken veya metod isimleri, kullanım amacını yansıtacak nitelikte ve işi anımsatıcı nitelikte olmalıdır.

Bu değişken isimleri web servisten geliyor...
Cevapla
#9
(30-11-2017, Saat: 09:14)eyln Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(29-11-2017, Saat: 22:00)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlMerhaba,
Konu biraz içeriğin dışına çıkmış gibi olacak ama;
Kodun revizyonu ve sürdürülebilirliği için kullanılan değişken veya metod isimleri, kullanım amacını yansıtacak nitelikte ve işi anımsatıcı nitelikte olmalıdır.

Bu değişken isimleri web servisten geliyor...

Vermiş olduğum cevaptan olumsuz bir anlam çıkardınız galiba.
Kodlama, isimlendirme standartlarına uygun ve son derece anlaşılır yapılmış.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#10
(30-11-2017, Saat: 09:23)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(30-11-2017, Saat: 09:14)eyln Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlBu değişken isimleri web servisten geliyor...

Vermiş olduğum cevaptan olumsuz bir anlam çıkardınız galiba.
Kodlama, isimlendirme standartlarına uygun ve son derece anlaşılır yapılmış.

Fesih bey sorun yok. yhackup adlı arkadaştan alıntı yapacaktım yanlış oldu.Kodları anlaşılmaz bulan oydu.
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  delphi ile web servis yazmak. Kamuran Alpkaya 5 1.386 13-11-2018, Saat: 17:13
Son Yorum: enes6635
  soap uygulamaları kayıt çekme goabdullah 6 1.033 04-11-2018, Saat: 22:01
Son Yorum: enes6635
  Radiobutton ve Checkbox Kayıt İşlemleri - Yardım djharry 3 142 03-10-2018, Saat: 10:58
Son Yorum: Abdullah ILGAZ
  Web Servis Access Violation ahmet_sinav 6 257 25-09-2018, Saat: 15:48
Son Yorum: ahmet_sinav
  Rest Web Servis Cookie Sıkıntısı Hk. satiuqea 7 282 31-08-2018, Saat: 17:36
Son Yorum: SimaWB



Konuyu Okuyanlar: 1 Ziyaretçi