KPS

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
yusuf
Üye
Mesajlar: 139
Kayıt: 20 Tem 2005 11:05
Konum: İSTANBUL

KPS

Mesaj gönderen yusuf »

Merhaba arkadaşlar kps kimlik paylaşım sistemi şifrelerim var ama bir türlü çöemedim ankarayla görüşmeme ragmen java ve c# örnekleri yapan firma delphi destegi vermiyor bu çifte standart diye düşünüyorum bu konuyu iyi bilen arkadaşlar yardımcı olursa sevinirim ben bir örnek yaptım fakat çalışmadı. nerede yanlış yapıyorum acaba.

Kod: Tümünü seç

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants,KPS, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, InvokeRegistry, Rio, SOAPHTTPClient;

type
  TForm1 = class(TForm)
    Button1: TButton;
    HTTPRIO1: THTTPRIO;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
srv : KPSSoap;
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  servis : KPSSoap;
  sorgu : TCKimlikNoG;
  cevap : KisiTemelBilgisi;
  TCKimlikNo : Int64;
begin
    HTTPRIO1.HTTPWebNode.GetHTTPReqResp.UserName:=Edit1.Text;
    HTTPRIO1.HTTPWebNode.GetHTTPReqResp.Password:=Edit2.Text;
    HTTPRIO1.HTTPWebNode.UseUTF8InHeader:=true;
try
       servis := GetKPSSoap(False,'',HTTPRIO1);
       sorgu.TCKimlikNo := strtoint64(edit3.text);
       sorgu  := TCKimlikNoG.Create;

       edit4.Text := cevap.Ad;
       edit5.Text := cevap.Soyad;
       edit6.Text := cevap.BabaAd;

  except
      On E:Exception do
      begin
           raise Exception.Create(E.Message+#13+'Oluşan hata nedeniyle sorgu yapılamıyor...');
      end;

end;
end;


end.
ikazanci
Üye
Mesajlar: 8
Kayıt: 12 Tem 2008 11:45
İletişim:

Re: KPS

Mesaj gönderen ikazanci »

KPS'ni şifreli sisteme geçtikten sonra kullanmadım. Ama kullandığım web servislerinde kullanıcı adı ve şifreyi aşağıdaki gibi HTTPRIO komponentin BeforeExecute kısmında gönderiyorum.

Kod: Tümünü seç

procedure TfrmMain.HTTPRIOOdemeDurumKontrolIslemleriBeforeExecute(
  const MethodName: string; var SOAPRequest: WideString);
begin
  HTTPRIOOdemeDurumKontrolIslemleri.HTTPWebNode.UserName := VarUserName;
  HTTPRIOOdemeDurumKontrolIslemleri.HTTPWebNode.Password := VarPassword;
  // gonderdigin veriyi clipboarda atarsan, sonradan ne gonderdigini kontrol edebilirsin...
  try
    ClipBoard.clear;
    ClipBoard.SetTextBuf(PAnsiChar(string(SOAPRequest)));
  except
  end;
end;
Kolay gelsin.
İbrahim KAZANCI
ikazanci(at)yahoo(nokta)com
http://www.hbys.web.tr
yusuf
Üye
Mesajlar: 139
Kayıt: 20 Tem 2005 11:05
Konum: İSTANBUL

Re: KPS

Mesaj gönderen yusuf »

Biraz daha yaklaştıgımı düşünüyorum ama hala bir sorun var arkadaşlar yardımlarınızı bekliyorum. service.wsdl function şu şekilde

Kod: Tümünü seç

ServiceSoap = interface(IInvokable)
  ['{6B5E8459-805B-F5A1-8D3D-F03F8A137917}']
    function  TCKimlikNoSorgula(const userid: Integer; const pwd: WideString; const TcKimlikNumarasi: Int64): TCKimlikNoKisiBilgi; stdcall;
    function  TCKimlikNoSorgulaArray(const userid: Integer; const pwd: WideString; const TcKimlikNumarasi: Int64): ArrayOfTCKimlikNoKisiBilgi; stdcall;
    function  TcKimlikNoBul(const userid: Integer; const pwd: WideString; const ad: WideString; const soyad: WideString; const anaAdi: WideString; const babaAdi: WideString; const ilce: Integer; const dogumTarihi: WideString; const cinsiyet: WideString): TCKimlikNoKisiBilgi; stdcall;
    function  TcKimlikNoBulArray(const userid: Integer; const pwd: WideString; const ad: WideString; const soyad: WideString; const anaAdi: WideString; const babaAdi: WideString; const ilce: Integer; const dogumTarihi: WideString; const cinsiyet: WideString): ArrayOfTCKimlikNoKisiBilgi; stdcall;
    function  IlIlceMerkeziAdresKisiBilgiSorgula(const userid: Integer; const pwd: WideString; const TcKimlikNumarasi: Int64): AdresKisiBilgi; stdcall;
    function  IlIlceMerkeziAdresKisiBilgiSorgulaArray(const userid: Integer; const pwd: WideString; const TcKimlikNumarasi: Int64): ArrayOfAdresKisiBilgi; stdcall;
    function  BeldeAdresKisiBilgiSorgula(const userid: Integer; const pwd: WideString; const TcKimlikNumarasi: Int64): AdresKisiBilgi; stdcall;
    function  BeldeAdresKisiBilgiSorgulaArray(const userid: Integer; const pwd: WideString; const TcKimlikNumarasi: Int64): ArrayOfAdresKisiBilgi; stdcall;
    function  KoyAdresKisiBilgiSorgula(const userid: Integer; const pwd: WideString; const TcKimlikNumarasi: Int64): AdresKisiBilgi; stdcall;
    function  KoyAdresKisiBilgiSorgulaArray(const userid: Integer; const pwd: WideString; const TcKimlikNumarasi: Int64): ArrayOfAdresKisiBilgi; stdcall;
    function  YabanciTCKimlikNoSorgula(const userid: Integer; const pwd: WideString; const TcKimlikNumarasi: Int64): YabanciTCKimlikNoKisiBilgi; stdcall;
    function  YabanciTCKimlikNoSorgulaArray(const userid: Integer; const pwd: WideString; const TcKimlikNumarasi: Int64): ArrayOfYabanciTCKimlikNoKisiBilgi; stdcall;
    function  NufusCuzdanDetayBilgi(const userid: WideString; const pwd: WideString; const TcKimlikNumarasi: WideString): TCKimlikNoKisiBilgi; stdcall;
    function  NufusCuzdanDetayBilgiArray(const userid: WideString; const pwd: WideString; const TcKimlikNumarasi: WideString): ArrayOfTCKimlikNoKisiBilgi; stdcall;
    function  IlGetir: IlGetirResult; stdcall;
    function  IlceGetir: IlceGetirResult; stdcall;
    function  TCKimlikNoAileListesiSorgulaArray(const userid: Integer; const pwd: WideString; const TcKimlikNumarasi: Int64): ArrayOfTCKimlikNoKisiBilgi; stdcall;
  end;

function GetServiceSoap(UseWSDL: Boolean=System.False; Addr: string=''; HTTPRIO: THTTPRIO = nil): ServiceSoap;



yaptıgım sorgu şöyle

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var
KimlikDogS : TCKimlikNoKisiBilgi;
userid: Integer;
pwd: WideString;
TCkimliknumarasi : int64;
begin
if length(edit3.text) <> 11 then
begin
showmessage('hata');
exit;
end;
try
userid:=strtoint(edit1.Text);
pwd := edit2.Text;
TCkimliknumarasi := strtoint64(edit3.text);
except
showmessage('hata');
end;

try
KimlikDogS := (HTTPRIO1 as
ServiceSoap).TCKimlikNoSorgula(userid,pwd,TcKimlikNumarasi);
except
showmessage('hata');
end;

try
 Edit4.Text := KimlikDogS.Ad;
 edit5.Text := KimlikDogS.Soyad;
 Edit6.Text := KimlikDogS.DogumTarih;
except

end;

end;


end.
Cevapla