Tüm Platformlar için Hızlı Uygulama Geliştirme --->    Kitabımız...      Delphi

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ı: 18)
My name is nobody.
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 NVİ KPS (Kimlik Paylaşım Sistemi) web servislerine bağlanma. csunguray 9 314 07-02-2018, Saat: 13:30
Son Yorum: ismailkocacan
  Kayıt silme Dostk 5 283 21-12-2017, Saat: 15:03
Son Yorum: witalihakko
Question program içerisine veritabansız kayıt BY-HAYALET 6 178 09-12-2017, Saat: 12:23
Son Yorum: Abdullah ILGAZ
  Kayıt güncelleme Dostk 0 106 01-12-2017, Saat: 20:43
Son Yorum: Dostk
  Grid'den kayıt eklemek istediğimde autoincrement olan alanın boş şeklinde hata vermes burakb44 1 162 30-10-2017, Saat: 22:26
Son Yorum: burakb44



Konuyu Okuyanlar: 1 Ziyaretçi