Kimlik Paylaşım Sistemi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
koray36
Üye
Mesajlar: 17
Kayıt: 24 Kas 2005 07:01

Re: Kimlik Paylaşım Sistemi

Mesaj gönderen koray36 »

merhaba bu soruna çözüm bulan oldumu aceba. bende aynı sorunu yaşıyorum ve bir türlü çözemedim
yusuf
Üye
Mesajlar: 139
Kayıt: 20 Tem 2005 11:05
Konum: İSTANBUL

Re: Kimlik Paylaşım Sistemi

Mesaj gönderen yusuf »

hocam kps sistemini yapan kale yazılımlada görüşmeme ragmen yardımcı olmadılar çifte standart hissettim java ve c# çözüm sunan firma biz delphi'cilere çözüm sunmuyor bizim hocalarımızda pek önemsemiyor sanırım bu konuyu yardımcı olmadılar bu konuda. Çözüm saglarsanız veya bir kaynak bulursanız banada bildirirseniz memnun olurum bende bulursam buradan bildirecegim.
Berdem
Üye
Mesajlar: 431
Kayıt: 28 Tem 2003 12:28

Re: Kimlik Paylaşım Sistemi

Mesaj gönderen Berdem »

Merhaba,
:ara :ara :ara viewtopic.php?f=19&t=6153&st=0&sk=t&sd= ... s&start=30 daha önce bu link verilmiş.işin asıl sırrı burda.D7 kullanıyosanız yanıt alamayabilirsiniz.Hata mesajlarınızıda gönderin.İnanın forumda nasıl yapılacağına dairde bilgide verilmiş.viewtopic.php?p=98780 bu siteden benzer kodları kendi kodlarınıza uygulamanız lazım. Ben dediginiz siteden bilgileri rahatlıkla cekebiliyorum.Artık bundan sonrası size kalmış
Kolay gelsin.
Murat DİCLE yazdı:Sorun ne utf-8 ne de HTTPRIO'da...

Sorun minik bir tip tanımlamasındadır.

Arkadaşımız düzelttiğim dediği kodu, inanın bana tesadüfen yapmıştır. Sakın kızmasın bana çünkü, WSDL'yi diske kaydetmiş denemiş, bir kpspublic.pas içinde bir iki yeri dğeiştirmiş. vs. vs. Tahmin edebiliyorum. Çünkü bende vaktiyle tesadüfen yaptığımda şöyle demiştim "haa, demekki D7'de bu iş olmuyor D2005 te oluyor". Oysaki yalan :D

Ben kendi web servislerimi kullanırken, ilk başlarda web sitesine koyuyor sonra, WSDL sini web'ten import ediyordum. Ama ne hikmetse Delphi de çalışmıyordu. Gönderdiğim tüm parametlerin hepsi SIFIR değer içeriyordu. O google senin bu yahoo benim günlerce aradım olmadı.

Bir gün WDSL isteğini kendi localhostumdan istedim. ve servis çalıştı. Bir kaç ay öncesine kadar böyle kullanmaya devam ettim.

Tabi create ederken şunu yaptım.

WS := GetTMServicesSoap(False, 'http://www.xxxxx.com/serv.asmx', RIO);

Şelinde. Çünkü WDSL importer ile localhostumdan okuma yaptım. Herkesinbenim localhostuma erişemeyeceği için, webdeki URL'sini yazdım. Tabi burda RIO'u bileşenini sadece Türkçe karakterler için kullandım. Japonca, Çince vs. diller ile yazılmş metinlerin düzgün gitmesi için. Yoksa gönderilen parametrelerin SIFIR gitmesinde bir faydası yok.

Her neyse ben sorunumu çözmüştüm. Ama kafama da takıldı, ne fark vardı da localhost'tan import ettiğim WSDL ile uzak web'den import ettiğim WSDL uyumsuzdu.

Satırları tek tek kontrol ettim. ve minik bir şey farkettim.:
ioDocument

Evet local'den import edilen WSDL içinde initialization kısmında InvRegistry.RegisterInvokeOptions(TypeInfo(TMServicesSoap), ioDocument); şeklinde bir satır oluyordu. Ama web'ten import ettiğimde ise bu satır olmuyordu. Bu satır olmadığında hiç bir şekilde gönderilen parametlerin hepsi SIFIR gidiyordu.

Sorunu iki şekilde düzeltebiliyordum artık.

Ya formun FormCreate kısmına ya da gelen WDSL dosyasının initialization bölümüne bu satırı koyarak sorunu çözdüm. sizde deneyin göreceksiniz. HTTPRIO falan koymanıza da gerek yok.

Ben anlamadım falan diyorsanız, arkadaşımızın gönderdiği kpspublic.pas'ı kullanın derim. ayrıca WSDL import yapmayın. Çünkü orada bahsettiğim satır var.

Şimdi asıl bomba geliyor;
Sorunun temelinde .NET 1.1 ile .NET 2.0 arasındaki farktan yatıyormuş. benim localhostumda .NET 1.1 freamework yüklü. Satın aldığım hosting firması işgüzarlığından :D hemen .NET 2.0 yüklemiş. Aynen tckimlik.nvi.gov.tr'dekilerin gibi. Ve bu bir BUG'dır. D7 ve D2005'te bunu yaşadım. VB.NET, ya da visual studio ile bunu hiç bir zaman yaşamadım.

Pek emin değilim ama D7 ve D2005 updateleri ile bu düzeltilmiş olması gerekiyor. D2006'da durum nedir hiç bilmiyorum. Daha kurmak nasip olmadı.

Bu nedenle bu tip web servislerinden WSDL import ederken aklınızda olsun belirttiğim satır olmalıdır.

InvRegistry.RegisterInvokeOptions(TypeInfo(TXXXServisSoap), ioDocument);

ya da TC KİMLİM için

InvRegistry.RegisterInvokeOptions(TypeInfo(KPSPublicWebServiceSoap), ioDocument);

Herkese saygılar ve selamlar..
Kullanıcı avatarı
Biltes
Üye
Mesajlar: 361
Kayıt: 11 Oca 2005 02:24
Konum: Edirne

Re: Kimlik Paylaşım Sistemi

Mesaj gönderen Biltes »

Öncelikle herkese kolay gelsin,

Bu tckimlik no doğrulama geldi çattı bana da lazım oldu :( Şimdi hocam ddiğiniz linteki makaleyi inceledim vediğiniz linkten WSDL dosyasını oluşturamıyorum SOAP ile ilgili bir hata veriyor ve bununla beraber hayaller başlarken daha yıkılmış oluyor. Bu tckimlik web sitesi üzerindeki resim doğrulama yöntemiyle beraber tckimlik no doğrulamayı nasıl yapabilriz. 2 gündür sürekli araştırma içerisindeyim tüm konuları inceledim ama bir sonuca varamadım. Bu arada konu ile ilgili başlık olduğu için yeni başlıkta açmak istemedim. Bununla ilgili olarak zamanında bu konu ile güreşmiş hocalarımızın yardımlarını bekliyoruz.

İlgi ve alakanız için çok tşk ederim...
Var olmaya değer her şey bilinmeye de değerdir. Çünkü bilgi varlığın bir imgesidir. Onda iyi ve kötü aynı anda bulunmaktadır...
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Kimlik Paylaşım Sistemi

Mesaj gönderen aslangeri »

@biltes sanırım cevabını yanlış yerde arıyorsun.
burda bi resim doğrulama olayı yok. Arkadaşlar nvi ile anlaşıp vpn üzerinden web servislerine erişiyorlar anladıığım kadarı ile sen web arayüzden doğrulama yapmak istiyorsun. onun için @mrmarman ın makalesi vardı yanlış hatırlamıyorsam.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Berdem
Üye
Mesajlar: 431
Kayıt: 28 Tem 2003 12:28

Re: Kimlik Paylaşım Sistemi

Mesaj gönderen Berdem »

Merhaba,
Sağlık bakanlığı nvi ile anlaşıp http://212.175.169.157/sbkpsws/service.asmx portundan hastanenin ve kuruma ait kullanıcı adı ve şifresi ile nufüs bilgilerini 80 porttan alıyorsunuz.Eskiden nvi http://tckimlik.nvi.gov.tr/kpsPublic.asmx?WSDL bu adresten üçretsiz veriyordu bu port paralı hale geldi.Kurumunuz sağlık bakanlığı değilse bu adresten ayrıntılı biigi alabilirisniz.http://www.nvi.gov.tr/Hakkimizda/Projel ... ageindex=1
filiz
Üye
Mesajlar: 82
Kayıt: 24 Ara 2003 08:11
Konum: İzmir

Re: Kimlik Paylaşım Sistemi

Mesaj gönderen filiz »

Merhaba Arkadaşlar
Kps sisteminde yeni şekliyle ssl güvenlikli haliyle web servislerine bağlantı yapıp bilgi çekebilen arkadaşlar yardımlarınızı bekliyorum.Delphi 7 kullanıyorum
İyi çalışmalar..
Berdem
Üye
Mesajlar: 431
Kayıt: 28 Tem 2003 12:28

Re: Kimlik Paylaşım Sistemi

Mesaj gönderen Berdem »

Özel mesajla bilgi istendi.Halbuki bu kodu ben forumdan almıştım. :ara :ara :ara Tekrar göndereyim.

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var
  cc: TCKimlikNoKisiBilgi;
  vv: ServiceSoap;
  TC: int64;
begin
  TC := StrToint64(Edit1.Text);
  if (Length(IntToStr(TC)) = 11) and (IntToStr(TC) <> EmptyStr) then
  begin
    try
      try
        StatusBar1.Panels[0].Text := 'Lütfen Bekleyiniz:!!!';
        Application.ProcessMessages;
        Screen.Cursor := crHourGlass;
        cc := TCKimlikNoKisiBilgi.Create;
        vv := GetServiceSoap(true, '', HTTPRIO1);
        cc := vv.TCKimlikNoSorgula(xxxxx, 'xxxxxx', TC);
        if (ar.State in [dsedit, dsinsert]) then begin
          ar.FieldByName('ADI').AsString := cc.Ad;
          ar.FieldByName('SOYADI').AsString := cc.Soyad;
          ar.FieldByName('BABAADI').AsString := cc.BabaAd;
          ar.FieldByName('DOGUMYERI').AsString := cc.DogumYer;
          ar.FieldByName('DOGUMTARIHI').AsDateTime := StrToDate(cc.DogumTarih);
        end;
      finally
        Screen.Cursor := crDefault;
        vv := nil;
        cc.Free;
        StatusBar1.Panels[0].Text := '';
      end;
    except
      on E: ERemotableException do
      begin
        if Pos('Empty document', E.Message) <> 0 then
          MessageBox(0, 'Nüfus Müdürlüğünün Bilgisayarlarından Boş Bilgi Geliyor....', 'Lütfen Dikkat !!!', MB_ICONQUESTION or MB_OK);
      end
    end;
  end;
end;
filiz
Üye
Mesajlar: 82
Kayıt: 24 Ara 2003 08:11
Konum: İzmir

Re: Kimlik Paylaşım Sistemi

Mesaj gönderen filiz »

sanırım yeni kps sisteminden haberiniz yok
viewtopic.php?f=2&t=23717 burdan bilgi alabilirsiniz.
Berdem
Üye
Mesajlar: 431
Kayıt: 28 Tem 2003 12:28

Re: Kimlik Paylaşım Sistemi

Mesaj gönderen Berdem »

http://212.175.169.157/sbkpsws/service.asmx
Bu portun eskimi yenimi olduğundan haberim yok.Eski ise ben bu söyledğim bilgilerle bal gibi çekiyorum.
Çok açık şekilde kodu verdim. Yeni bir port varsa adresi verirmisin.
filiz
Üye
Mesajlar: 82
Kayıt: 24 Ara 2003 08:11
Konum: İzmir

Re: Kimlik Paylaşım Sistemi

Mesaj gönderen filiz »

Yeni bir URL adresi var ve o adrese erişebilmen için kurumunun anlaşma yapmış ve ip numarasını bildirmiş şifre ve kullanıcı adını almış olması lazım
ve o bilgileri çekebilmen için şifre ve kullanıcı adını programında kullanman gerekir.
sorunda bu zaten
Berdem
Üye
Mesajlar: 431
Kayıt: 28 Tem 2003 12:28

Re: Kimlik Paylaşım Sistemi

Mesaj gönderen Berdem »

cc := vv.TCKimlikNoSorgula(Kullanıcı adı, 'şifre', TC);
Burdan giriyorsunuz.
Yazılımı o kurumun ip makinalarında deneyin.Web sayfasına ip girmenize gerek olduğunu sanmıyorum.Sayfa ip okur.Okumazsa anlamı yok :D
Verilen sertifikayı internet explorer araçlar seçenekler içerik SSL sertifikayı ekle..Kurulacak her makina için.
Verdiğim kodu copy paste yap bakalım oluyor mu? Sonucu bekliyorum.

Kolay gelsin..
Berdem
Üye
Mesajlar: 431
Kayıt: 28 Tem 2003 12:28

Re: Kimlik Paylaşım Sistemi

Mesaj gönderen Berdem »

Biltes yazdı:Öncelikle herkese kolay gelsin,

Bu tckimlik no doğrulama geldi çattı bana da lazım oldu :( Şimdi hocam ddiğiniz linteki makaleyi inceledim vediğiniz linkten WSDL dosyasını oluşturamıyorum SOAP ile ilgili bir hata veriyor ve bununla beraber hayaller başlarken daha yıkılmış oluyor. Bu tckimlik web sitesi üzerindeki resim doğrulama yöntemiyle beraber tckimlik no doğrulamayı nasıl yapabilriz. 2 gündür sürekli araştırma içerisindeyim tüm konuları inceledim ama bir sonuca varamadım. Bu arada konu ile ilgili başlık olduğu için yeni başlıkta açmak istemedim. Bununla ilgili olarak zamanında bu konu ile güreşmiş hocalarımızın yardımlarını bekliyoruz.

İlgi ve alakanız için çok tşk ederim...
http://212.175.169.157/sbkpsws/service.asmx?WSDL siteleri bu şekilde sonunda ?WSDL gelecek şekilde import etmeniz gerekir.
Berdem
Üye
Mesajlar: 431
Kayıt: 28 Tem 2003 12:28

Re: Kimlik Paylaşım Sistemi

Mesaj gönderen Berdem »

https://kps.nvi.gov.tr/Mernis.KPS.Web.SI/KPS.asmx?wsdl

bu adresi delphi import etmiyor.Empty document hatası veriyor.Delphi 2007 Net v1.0 çalışır.Bu sistem sanırım .Net v3.0 çalışıyor o nedenle delphi 2007 yetersiz kalabilir.
O zaman yalnız degilsiniz. :ara :ara Google

http://dn.codegear.com/he/article/36962
BU adreste nasıl net 3.0 ulaşabilirisiniz.Nasıl import edersiniz ...Herşeyi yazmışlar...
Sonuçlarınızı bizimle paylaşmanızı bekliyoruz....
yusuf
Üye
Mesajlar: 139
Kayıt: 20 Tem 2005 11:05
Konum: İSTANBUL

Re: Kimlik Paylaşım Sistemi

Mesaj gönderen yusuf »

berdem hocam şu adresten import etmeye çalışırmısınız bende import ediyor http://212.175.169.157/sbkpsws/service.asmx?WSDL
Cevapla