(01-12-2017, Saat: 14:43)ismailkocacan Adlı Kullanıcıdan Alıntı: [ -> ] (01-12-2017, Saat: 13:57)eyln Adlı Kullanıcıdan Alıntı: [ -> ]Delphi ile oluşturdum. C# 'a çok hakim değilim...
XML'i text olarak oluşturup idhhtp ile post ettim bad request hatası aldım bu defada...
Peki Delphi'den istek XML'i namespace'li olarak mı gönderdiniz ?
Sizin gönderdiğiniz XML'i text olarak procedure içerisinde değişkene atadım ve post ettim.
Diğer taraftan Delphi içinden name spaceli olarak nasıl gönderileceği konusunda bilginiz varmı?
(01-12-2017, Saat: 15:46)eyln Adlı Kullanıcıdan Alıntı: [ -> ] (01-12-2017, Saat: 14:43)ismailkocacan Adlı Kullanıcıdan Alıntı: [ -> ]Peki Delphi'den istek XML'i namespace'li olarak mı gönderdiniz ?
Sizin gönderdiğiniz XML'i text olarak procedure içerisinde değişkene atadım ve post ettim.
Diğer taraftan Delphi içinden name spaceli olarak nasıl gönderileceği konusunda bilginiz varmı?
Araştırmak lazım. XML'leri farklı gördüğüm için, namespace dedim.Problem namespace de olmayabilir.Ama servisin düzgün çalıştığı aşikar.
Merhaba Arkadaşlar,
Sorunu çözemedim.Bu isteği HTTP post ile yapmak mümkün mü? Teşekkürler.
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;
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.
(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

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...
(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.

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.
(05-12-2017, Saat: 22:32)eyln Adlı Kullanıcıdan Alıntı: [ -> ]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.
Merhaba,
Bahsetmiş olduğunuz bu bilgi ve beceriye +4 puanla ekstra katkıda bulunabilirsiniz.