Hal Kayıt Sistemi Web Servis
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Hal Kayıt Sistemi Web Servis
Merhaba Arkadaşlar,
Hal kayıt web servis sistemine kayıt ile ilgili desteğe ihtiyacım var.Bu konuda tecrübeli arkadaşların desteğini rica ediyorum.Sitedeki konuları inceledim ancak sonuç alınmamış.Eğer çalışan bir örnek varsa paylaşırsanız sevinirim.
Saygılar.
Hal kayıt web servis sistemine kayıt ile ilgili desteğe ihtiyacım var.Bu konuda tecrübeli arkadaşların desteğini rica ediyorum.Sitedeki konuları inceledim ancak sonuç alınmamış.Eğer çalışan bir örnek varsa paylaşırsanız sevinirim.
Saygılar.
Re: Hal Kayıt Sistemi Web Servis
Merhaba,
En son sorunu çözdüğünüzü bildirmiştiniz.
Hal kayıt web sistemi diğer web sistemlerinden farklı değildir. Yapamadığınız şeyi bildirirseniz yardımcı olmaya çalışabiliriz. Ancak soruna göre kaynak kod incelemek gerekebilir.
Daha önce bahsettiğiniz test/demo sistem bilgilerini paylaşarak sorunu çözüm sadece servisi değiştirmeniz duruma göre mümkün olabilir. Ancak canlı sistemin test/demo sisteme göre farkı sadece URL adresi değil ise bu kez canlı sistem bilgilerine veya sizin anlaşılır açıklayıcı hata tanımınıza gerek olacaktır.
Forumda yıllardır web servis kullanan kişiler var.
En son sorunu çözdüğünüzü bildirmiştiniz.
Hal kayıt web sistemi diğer web sistemlerinden farklı değildir. Yapamadığınız şeyi bildirirseniz yardımcı olmaya çalışabiliriz. Ancak soruna göre kaynak kod incelemek gerekebilir.
Daha önce bahsettiğiniz test/demo sistem bilgilerini paylaşarak sorunu çözüm sadece servisi değiştirmeniz duruma göre mümkün olabilir. Ancak canlı sistemin test/demo sisteme göre farkı sadece URL adresi değil ise bu kez canlı sistem bilgilerine veya sizin anlaşılır açıklayıcı hata tanımınıza gerek olacaktır.
Forumda yıllardır web servis kullanan kişiler var.
Re: Hal Kayıt Sistemi Web Servis
Merhaba ,
İlk mesajımda bağlantıyla ilgili bir problem vardı.Bu hata test sistemi user bilgileri ile alakalıymış...Onu çözdük.
Web servisine sitedeki örneklere göre bağlantı yapıp tüm servislerden veri alabiliyoruz.Ancak asıl olay web servisi üzerinden bildirim yapmak yani kayıt yapmak ve oluşan künye numarasını almak...İncelediğim konularda aynı hata belirtilmiş ve çözümsüz kalmış.
Teşekkürler.
Aldığım hata şu
İlk mesajımda bağlantıyla ilgili bir problem vardı.Bu hata test sistemi user bilgileri ile alakalıymış...Onu çözdük.
Web servisine sitedeki örneklere göre bağlantı yapıp tüm servislerden veri alabiliyoruz.Ancak asıl olay web servisi üzerinden bildirim yapmak yani kayıt yapmak ve oluşan künye numarasını almak...İncelediğim konularda aynı hata belirtilmiş ve çözümsüz kalmış.
Teşekkürler.
Aldığım hata şu
Kodlar :Object reference not set to an instance of an object.
Kod: Tümünü seç
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 :='12345';
gonder.Istek[0].BildirimTuru :=195; // Satın alma
gonder.Istek[0].ReferansBildirimKunyeNo :=0;
gonder.Istek[0].BildirimciBilgileri := BildirimciBilgileriDTO.Create;
gonder.Istek[0].BildirimciBilgileri.KisiSifat :=6; //Tüccar hal içi
gonder.Istek[0].IkinciKisiBilgileri := IkinciKisiBilgileriDTO.Create;
gonder.Istek[0].IkinciKisiBilgileri.CepTel := '5555555555';
gonder.Istek[0].IkinciKisiBilgileri.Eposta := 'a@a-gida.com';
gonder.Istek[0].IkinciKisiBilgileri.TcKimlikVergiNo := '1111111111';
gonder.Istek[0].IkinciKisiBilgileri.YurtDisiMi := false;
gonder.Istek[0].IkinciKisiBilgileri.KisiSifat := 4; //Üretici
gonder.Istek[0].BildirimMalBilgileri := BildirimMalBilgileriDTO.Create;
gonder.Istek[0].BildirimMalBilgileri.UretimIlId:= 1; //adana
gonder.Istek[0].BildirimMalBilgileri.UretimIlceId:= 455;// ceyhan
gonder.Istek[0].BildirimMalBilgileri.UretimBeldeId:= 2086; //çarşı
gonder.Istek[0].BildirimMalBilgileri.MalinNiteligi:= 3; //toplama
gonder.Istek[0].BildirimMalBilgileri.MalinKodNo:= 284; //acur;
gonder.Istek[0].BildirimMalBilgileri.UretimSekli:= 28; //geleneksel
gonder.Istek[0].BildirimMalBilgileri.MalinCinsiId:= 284; // acur
gonder.Istek[0].BildirimMalBilgileri.MiktarBirimId:= 74; // KG
gonder.Istek[0].BildirimMalBilgileri.MalinMiktari:= 100;
gonder.Istek[0].BildirimMalBilgileri.MalinSatisFiyat:= 0.80;
gonder.Istek[0].BildirimMalBilgileri.GelenUlkeId:= 201; // Türkiye
gonder.Istek[0].BildirimMalBilgileri.AnalizeGonderilecekMi:=false;
gonder.Istek[0].MalinGidecekYerBilgileri := MalinGidecekYerBilgileriDTO.Create;
gonder.Istek[0].MalinGidecekYerBilgileri.GidecekYerIsletmeTuruId:=7;// hal içi işyeri
gonder.Istek[0].MalinGidecekYerBilgileri.GidecekIsyeriId:=7;// hal içi işyeri
gonder.Istek[0].MalinGidecekYerBilgileri.GidecekUlkeId:=201;
gonder.Istek[0].MalinGidecekYerBilgileri.GidecekYerIlId:=1;
gonder.Istek[0].MalinGidecekYerBilgileri.GidecekYerIlceId:=455;
gonder.Istek[0].MalinGidecekYerBilgileri.GidecekYerBeldeId:=2086;
gonder.Istek[0].MalinGidecekYerBilgileri.BelgeNo:='F0002';
gonder.Istek[0].MalinGidecekYerBilgileri.BelgeTipi:=207; //İRSALİYE
cevap := servis.BildirimServisBildirimKaydet(gonder) ;
//memo1.Lines.Add(IntToStr(cevap.Sonuc[0].YeniKunyeNo));
try
showmessage(CEVAP.IslemKodu);
except
showmessage(CEVAP.IslemKodu);
end;
finally
Screen.Cursor := crDefault;
END;
Re: Hal Kayıt Sistemi Web Servis
Çok özetle hata sebebi web servis istediği bilgiyi istediği şekilde alamıyor. Bu hatanın kaynağı aşağıdakilerden birisi olabilir:
- Web servise gönderdiğiniz bir nesnenin null olması veya oluşturulmamış olması durumu. Bu durumda Web servis wsdl dosyasından kullandığınız nesneleri incelemeniz gerekli. Oluşturulması gereken alt nesneler olabilir.
- Web servis parametrelerinin olması gerektiği gibi olmaması. Mesela bir parametre içeriği sizden json formatında bekleniyor olabilir. Bununla ilgili web servis dökümanlarını ve örneklerini incelemeniz gerekir.
- Bazen kullanılmayan parametrelerin sıfırlanması (string değerlerin içi boşaltılması, rakamların sıfırlanması vb.) gerekli olabilir. Bu gereklilik kullanılan web servise özel bir gerekliliktir. Oluşturduğunuz nesnelerin ilk değerlerini ayarlamanız gerekebilir.
Her halukarda çözümü web servis döküman ve örneklerine bakarak ve sizin web servise gönderdiğiniz XML dosyasını WireShark gibi bir uygulama ile inceleyerek tespit edebilirsiniz.
Re: Hal Kayıt Sistemi Web Servis
Öneri için teşekkür ederim.Wireshark ile çözmeye çalışıyorum.Fakat paketleri SSL ile şifreli gönderdiği için paketin içeriğini izleyemedim.Dediğiniz gibi adım adım tekrar bakacağım gönderilen verilere...Her halukarda çözümü web servis döküman ve örneklerine bakarak ve sizin web servise gönderdiğiniz XML dosyasını WireShark gibi bir uygulama ile inceleyerek tespit edebilirsiniz.
Re: Hal Kayıt Sistemi Web Servis
SOAPUI ile mock servis yapabilirsiniz. Mock servis sanal bir soap servis yaratarak gelen istekleri yakalamaktadır.
- sabanakman
- Kıdemli Üye
- Mesajlar: 3077
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Re: Hal Kayıt Sistemi Web Servis
İyi günler. Fiddler ile gerekli ayar ve yetki verilirse bu tür uygulamalardan meydana gelen akışları şifresi çözülmüş bir şekilde takip edebiliyorsunuz. Bunun için programı kurup çalıştırdıktan sonra Tools -> Options ile gelen Pencerede HTTPS sayfası alındaki Capture HTTPS CONNECTs ve altındaki Decrypt HTTPS traffic ayarlarını işaretli olarak değiştirin. O esnada bazı sertifikaların yetkilendirmesi için onay isteyecek, bunları da onaylamak gerekiyor haliyle. Bu ayarlardan sonra programı bir kapat aç yapmak gerekiyor. Artık https bağlantılı akışları da Fiddler üzerinden çözülmüş bir biçimde takip edebileceksiniz. Kolay gelsin, iyi çalışmalar.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Re: Hal Kayıt Sistemi Web Servis
sabanakman beyin bahsettiği şekilde xml verilerine ulaştım.Olması gereken xml ile karşılaştırdım.Aşağıdaki kodlarda belirttiğim yer fazladan eklenmiş.
Sebebini çözemedim? Sanırım bu fazla satırdan kaynaklanıyor hata....
Sebebini çözemedim? Sanırım bu fazla satırdan kaynaklanıyor hata....
Kod: Tümünü seç
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body xmlns:NS2="http://schemas.datacontract.org/2004/07/GTB.HKS.Bildirim.Model" xmlns:NS1="http://schemas.datacontract.org/2004/07/GTB.HKS.Bildirim.ServiceContract">
<BaseRequestMessageOf_ListOf_BildirimKayitIstek xmlns="http://www.gtb.gov.tr//WebServices">
<Istek>
<BildirimKayitIstek xsi:type="NS1:BildirimKayitIstek">
<BildirimKayitIstek xmlns="" xsi:nil="true"/> /// burası fazla
</Istek>
<Password>*******</Password>
<ServicePassword>******</ServicePassword>
<UserName>******</UserName>
</BaseRequestMessageOf_ListOf_BildirimKayitIstek>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Re: Hal Kayıt Sistemi Web Servis
Import ettiğiniz wsdl dosyasını paylaşmanız mümkün mü?
Re: Hal Kayıt Sistemi Web Servis
Ertan bey ,
Ekte paylaştım.
Teşekkür ederim.
Ekte paylaştım.
Teşekkür ederim.
- Dosya ekleri
-
- BildirimService.rar
- (14.43 KiB) 339 kere indirildi
Re: Hal Kayıt Sistemi Web Servis
İlk etapta gözüme çarpanlar oluşturulan sınıfların hatalı olduğu. Aşağıdaki ilgili satırları bulup düzeltmek gerekli.
Ayrıca mevcut hafıza kaçağını engellemek için aşağıdaki değişikliklerin yapılması gerekli:
Ancak yukarıdaki düzeltmelerden sonra sistemden hala aynı hata geliyor.
Kod: Tümünü seç
istk[0] := BildirimKayitIstek2.Create;
gonder.Istek[0].BildirimciBilgileri := BildirimciBilgileriDTO2.Create;
gonder.Istek[0].IkinciKisiBilgileri := IkinciKisiBilgileriDTO2.Create;
gonder.Istek[0].BildirimMalBilgileri := BildirimMalBilgileriDTO2.Create;
gonder.Istek[0].MalinGidecekYerBilgileri := MalinGidecekYerBilgileriDTO2.Create;
Kod: Tümünü seç
try
cevap := servis.BildirimServisBildirimKaydet(gonder) ;
except
cevap := nil;
raise;
end;
//memo1.Lines.Add(IntToStr(cevap.Sonuc[0].YeniKunyeNo));
ShowMessage(CEVAP.IslemKodu);
finally
gonder.Free();
if cevap <> nil then cevap.Free();
Screen.Cursor := crDefault;
end;
Re: Hal Kayıt Sistemi Web Servis
Ertan bey ilginiz için teşekkürler.Aynen dediğiniz değişiklikleri yaptım ancak sorun devam ediyor...
Re: Hal Kayıt Sistemi Web Servis
Anladığım kadarıyla parametrelerden en az bir tanesi hatalı. Referans olarak tanımladığınız (rakam değer, yanına açıklama yazılmış) parametrelerde hata olmasından şüphe ediyorum. Ancak emin değilim.
Aşağıdaki eksiklikleri farkettim. Bunları eklemekte sorunu çözmedi.
Web servis hizmetini veren kişilere ulaşmanız gerekecek.
Aşağıdaki eksiklikleri farkettim. Bunları eklemekte sorunu çözmedi.
Kod: Tümünü seç
Send.Istek[0].IkinciKisiBilgileri.AdSoyad := 'ali veli';
Send.Istek[0].MalinGidecekYerBilgileri.AracPlakaNo := '34ABC56';
Re: Hal Kayıt Sistemi Web Servis
selamlar konuyu okudum ve hal kayıt web servis adresini denedim ancak web servis adresi değişmiş galiba. hal kayıt web servis adresini bilen var ise paylaşabilirmi lütfen? buraya dikkat web servis adresini istiyorum lütfen.
Re: Hal Kayıt Sistemi Web Servis
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..