Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
yusuf
Üye
Mesajlar: 139 Kayıt: 20 Tem 2005 11:05
Konum: İSTANBUL
Mesaj
gönderen yusuf » 12 Tem 2008 12:05
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:
Mesaj
gönderen ikazanci » 12 Tem 2008 03:32
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.
yusuf
Üye
Mesajlar: 139 Kayıt: 20 Tem 2005 11:05
Konum: İSTANBUL
Mesaj
gönderen yusuf » 18 Tem 2008 01:39
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.