Delphi Can
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)

Sayfalar: 1 2 3 4 5


Cvp: Hal Kayıt Sistemi Web Servis - eyln - 01-12-2017

(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ı?


Cvp: Hal Kayıt Sistemi Web Servis - ismailkocacan - 01-12-2017

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


Hal Kayıt Sistemi Web Servis - eyln - 05-12-2017

Merhaba Arkadaşlar,
Sorunu çözemedim.Bu isteği HTTP post ile yapmak mümkün mü? Teşekkürler.


Cvp: Hal Kayıt Sistemi Web Servis - barutali - 05-12-2017

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;





Cvp: Hal Kayıt Sistemi Web Servis - eyln - 05-12-2017

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.


Cvp: Hal Kayıt Sistemi Web Servis - barutali - 05-12-2017

(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-5FN8lYjInBq0hlIzPHvJQui6mwt4V5WDno3T2bLA


LOWazj.png


Cvp: Hal Kayıt Sistemi Web Servis - eyln - 05-12-2017

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


Cvp: Hal Kayıt Sistemi Web Servis - barutali - 05-12-2017

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



6yLkD9.png


Hal Kayıt Sistemi Web Servis - eyln - 05-12-2017

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.


Cvp: Hal Kayıt Sistemi Web Servis - Fesih ARSLAN - 05-12-2017

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