![]() |
|
Hal Kayıt Sistemi Web Servis - 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ığı: Hal Kayıt Sistemi Web Servis (/showthread.php?tid=1584) |
Hal Kayıt Sistemi Web Servis - eyln - 29-11-2017 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.[Ars=delphi]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; [/ars] Saygılar. Hal Kayıt Sistemi Web Servis - barutali - 29-11-2017 Dolması gereken bazı bilgileri doldurmamışsın.. Hal Kayıt Sistemi Web Servis - ismailkocacan - 29-11-2017 Delphi tarafında gönderdiğiniz XML ile, ekteki Fiddler dosyasını karşılaştırabilirsiniz. Cvp: Hal Kayıt Sistemi Web Servis - yhackup - 29-11-2017 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 ![]()
procedure hihaho;
var T:TStringList;
begin
T := TStringList.Create;
try
T.Add('');
finally
T.Free;
end;
end;
Cvp: Hal Kayıt Sistemi Web Servis - Fesih ARSLAN - 29-11-2017 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. Hal Kayıt Sistemi Web Servis - SimaWB - 29-11-2017 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ı: http://wiki.c2.com/?GoodVariableNames http://www.makinggoodsoftware.com/2009/05/04/71-tips-for-naming-variables/ Cvp: Hal Kayıt Sistemi Web Servis - sadettinpolat - 30-11-2017 (29-11-2017, Saat: 21:52)yhackup Adlı Kullanıcıdan Alıntı: Ne kadar açıklayıcı kod yazmışsınız maşallah, bu degisken isimleri web servisten gelen isimler sanirim. ayrica cokta kisa degisken isimleri kullanmanizi onermem. ne uzun , ne kisa. anlasilabilecek kadar. Cvp: Hal Kayıt Sistemi Web Servis - eyln - 30-11-2017 Öncelikle cevap veren tüm arkadaşlara teşekkürler. (29-11-2017, Saat: 20:52)barutali Adlı Kullanıcıdan Alıntı: Dolması 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ı: Delphi 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ı: Merhaba, Bu değişken isimleri web servisten geliyor... Cvp: Hal Kayıt Sistemi Web Servis - Fesih ARSLAN - 30-11-2017 (30-11-2017, Saat: 09:14)eyln Adlı Kullanıcıdan Alıntı:(29-11-2017, Saat: 22:00)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Merhaba, Vermiş olduğum cevaptan olumsuz bir anlam çıkardınız galiba. Kodlama, isimlendirme standartlarına uygun ve son derece anlaşılır yapılmış. Cvp: Hal Kayıt Sistemi Web Servis - eyln - 30-11-2017 (30-11-2017, Saat: 09:23)Fesih ARSLAN Adlı Kullanıcıdan Alıntı:(30-11-2017, Saat: 09:14)eyln Adlı Kullanıcıdan Alıntı: Bu değişken isimleri web servisten geliyor... Fesih bey sorun yok. yhackup adlı arkadaştan alıntı yapacaktım yanlış oldu.Kodları anlaşılmaz bulan oydu. |