Yorumları: 31
Konuları: 4
Kayıt Tarihi: 29-11-2017
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 16
Başlangıç
Merhaba Arkadaşlar,
Sorunu çözemedim.Bu isteği HTTP post ile yapmak mümkün mü? Teşekkürler.
Yorumları: 305
Konuları: 20
Kayıt Tarihi: 26-09-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 3.989
Uzman
Merhaba,
WSDL den oluşan pas dosyasını biraz değiştirmem gerekti. Ayrıca kodların ile de biraz oynadım. Elimde kullanıcı adı şifre bilgileri olmadığı için tam bir test alamadım.
Pas dosyasını
buradan indirebilirsin.
var
gonder : BaseRequestMessageOf_ListOf_BildirimKayitIstek;
cevap : BaseResponseMessageOf_ListOf_BildirimKayitCevap;
istk : BildirimKayitIstek2;
begin
try
screen.Cursor := crHourGlass;
gonder := BaseRequestMessageOf_ListOf_BildirimKayitIstek.Create;
istk := BildirimKayitIstek.Create;
gonder.UserName := 'username';
gonder.Password := 'passs';
gonder.ServicePassword := '_webpass' ;
istk.UniqueId :='****-6**56';
istk.BildirimTuru :=206;
istk.ReferansBildirimKunyeNo :=0;
istk.BildirimciBilgileri := BildirimciBilgileriDTO2.Create;
istk.BildirimciBilgileri.KisiSifat :=6; //Tüccar hal içi
istk.IkinciKisiBilgileri := IkinciKisiBilgileriDTO2.Create;
istk.IkinciKisiBilgileri.CepTel := '*******'; //+
istk.IkinciKisiBilgileri.Eposta := ' '; //+
istk.IkinciKisiBilgileri.TcKimlikVergiNo := '*******'; //+
istk.IkinciKisiBilgileri.YurtDisiMi := false; //+
istk.IkinciKisiBilgileri.KisiSifat := 4; //+
istk.IkinciKisiBilgileri.AdSoyad := '**** *****'; //+
istk.BildirimMalBilgileri := BildirimMalBilgileriDTO.Create;
istk.BildirimMalBilgileri.UretimIlId:= 15;
istk.BildirimMalBilgileri.UretimIlceId:= 855;
istk.BildirimMalBilgileri.UretimBeldeId:= 785;
istk.BildirimMalBilgileri.MalinNiteligi:= 1;
istk.BildirimMalBilgileri.MalinKodNo:= 319 ;
istk.BildirimMalBilgileri.UretimSekli:= 28;
istk.BildirimMalBilgileri.MalinCinsiId:= 1265;
istk.BildirimMalBilgileri.MiktarBirimId:= 74;
istk.BildirimMalBilgileri.MalinMiktari:= 250;
istk.BildirimMalBilgileri.MalinSatisFiyat:= 0.50;
istk.BildirimMalBilgileri.GelenUlkeId:= 0;
istk.BildirimMalBilgileri.AnalizeGonderilecekMi:=false;
istk.MalinGidecekYerBilgileri := MalinGidecekYerBilgileriDTO2.Create;
istk.MalinGidecekYerBilgileri.GidecekYerIsletmeTuruId:=7;// hal içi işyeri
istk.MalinGidecekYerBilgileri.GidecekIsyeriId:=47477;
istk.MalinGidecekYerBilgileri.GidecekUlkeId:=0;
istk.MalinGidecekYerBilgileri.GidecekYerIlId:=70;
istk.MalinGidecekYerBilgileri.GidecekYerIlceId:=78;
istk.MalinGidecekYerBilgileri.GidecekYerBeldeId:=45794;
istk.MalinGidecekYerBilgileri.BelgeNo:='F0002';
istk.MalinGidecekYerBilgileri.BelgeTipi:=208;
istk.MalinGidecekYerBilgileri.AracPlakaNo:='******';
gonder.Istek := ArrayOfBildirimKayitIstek2.Create;
gonder.Istek.SetBildirimKayitIstek2ArrayLength(1);
gonder.Istek.SetBildirimKayitIstek2Array(0, istk);
cevap := GetIBildirimService().BildirimServisBildirimKaydet(gonder) ;
if cevap.Sonuc.Len > 0 then
begin
ShowMessage( cevap.Sonuc[0].YeniKunyeNo.ToString );
end
else
begin
ShowMessage('İŞLEM KODU : ' + cevap.IslemKodu + sLineBreak +
'HATA MESAJI : ' + cevap.HataKodlari[0].Mesaj + sLineBreak +
'HATA KODU : ' + cevap.HataKodlari[0].HataKodu.ToString
);
end;
finally
Screen.Cursor := crDefault;
END;
Amatör Küme Bilgisayar Programcısı
Yorumları: 31
Konuları: 4
Kayıt Tarihi: 29-11-2017
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 16
Başlangıç
Ali bey ilginiz için teşekkürler.Denedim ancak aynı hatayı aldım ayrıca fiddlerden baktığımda xml hiç oluşmamış görünüyor.
Yorumları: 305
Konuları: 20
Kayıt Tarihi: 26-09-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 3.989
Uzman
05-12-2017, Saat: 21:30
(Son Düzenleme: 05-12-2017, Saat: 21:31, Düzenleyen: barutali.)
(05-12-2017, Saat: 20:33)eyln Adlı Kullanıcıdan Alıntı: Ali bey ilginiz için teşekkürler.Denedim ancak aynı hatayı aldım ayrıca fiddlerden baktığımda xml hiç oluşmamış görünüyor.
Merhaba,
Sanırım pas dosyasını kaydetmeden klasörden kopyaladım. Aşağıda ki linkten proje olarak indirebilirsiniz. Fiddler oturum kaydı (.saz) dosyası da rar içerisinde.
https://mega.nz/#!f1NQGCTT!w4-5FN8lYjInB...WDno3T2bLA
Amatör Küme Bilgisayar Programcısı
Yorumları: 31
Konuları: 4
Kayıt Tarihi: 29-11-2017
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 16
Başlangıç
05-12-2017, Saat: 22:03
(Son Düzenleme: 05-12-2017, Saat: 22:03, Düzenleyen: eyln.)
Ali Bey ,
Çok teşekkür ederim.Çok sıkıntı çektiğim bir konuyu sayenizde çözmüş oldum.PAS dosyasındanki değişiklikler hakkında bilgi vermeniz mümkünmü
zira bu test sisteminden import ettiğim dosyaydı.Aynı değişiklikleri canlı sistemden import edeceğim dosyadada yapmam gerekecek.
Elinize sağlık...
Yorumları: 305
Konuları: 20
Kayıt Tarihi: 26-09-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 3.989
Uzman
05-12-2017, Saat: 22:15
(Son Düzenleme: 06-12-2017, Saat: 00:15, Düzenleyen: barutali.)
(05-12-2017, Saat: 22:03)eyln Adlı Kullanıcıdan Alıntı: Ali Bey ,
Çok teşekkür ederim.Çok sıkıntı çektiğim bir konuyu sayenizde çözmüş oldum.PAS dosyasındanki değişiklikler hakkında bilgi vermeniz mümkünmü
zira bu test sisteminden import ettiğim dosyaydı.Aynı değişiklikleri canlı sistemden import edeceğim dosyadada yapmam gerekecek.
Elinize sağlık...
Merhaba,
WebServisi import ederken parametreler ekranında aşağıda ki ekran görüntüsünde sarı ile işaretlediğim kısmın TİKLİ olması gerekiyor.
Access Violation ve Object Reference not set to an Instance of an Object hataları almamak için Nesneleri Create ettiğinizden ve Dizilerin uzunluğunu belirtirken setLength yerine webservisin içinde bulunan kendi methodunu kullandığınızdan emin olun..
Örnek olarak
gonder.Istek := ArrayOfBildirimKayitIstek2.Create; // Create ettik.
gonder.Istek.SetBildirimKayitIstek2ArrayLength(1); // Dizinin uzunluğunu kendi methodunu kullanarak verdik.
gonder.Istek.SetBildirimKayitIstek2Array(0, istk); // Diziyi yine kendi methodu ile doldurduk.
Amatör Küme Bilgisayar Programcısı
Yorumları: 31
Konuları: 4
Kayıt Tarihi: 29-11-2017
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 16
Başlangıç
Ali bey ,Tekrar teşekkürler.Çok ince bir detay ancak bilgi ve tecrübe ile çözülebilirdi. İmport ederken o seçeneklere hiç bakmadım bile.
Elinize sağlık.