bu xml kodları ne işe yarıyor?
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
bu xml kodları ne işe yarıyor?
s.a.
emeklş sandığı web sayfasından ulaştığım bir word dosyasında
PROVİZYON
(SAĞLIK HAK SAHİPLİĞİ KONTROLÜ)
UYGULAMA YAZILIMI
konulu bir yazı var.
Hak sahipliği Sorgulama Web Servisinin URL’si olarak da aşağıdaki url verilmiş.
http://www.emekli.gov.tr/SaglikServisWe ... izyon.wsdl
iyi ama bu adresteki kodlar ne işe yarayacak. nasıl kullanıcam bunları?
yardımlar için şimdiden teşşekkürler.
kıymetli zamanını bu konyu okumakla geçiren herkesten allah razı olsun.
emeklş sandığı web sayfasından ulaştığım bir word dosyasında
PROVİZYON
(SAĞLIK HAK SAHİPLİĞİ KONTROLÜ)
UYGULAMA YAZILIMI
konulu bir yazı var.
Hak sahipliği Sorgulama Web Servisinin URL’si olarak da aşağıdaki url verilmiş.
http://www.emekli.gov.tr/SaglikServisWe ... izyon.wsdl
iyi ama bu adresteki kodlar ne işe yarayacak. nasıl kullanıcam bunları?
yardımlar için şimdiden teşşekkürler.
kıymetli zamanını bu konyu okumakla geçiren herkesten allah razı olsun.
WSDL, Web Service Definition Language(Web Servisi Tanımlama Dili) nin kısaltmasıdır. Yani bu webservi neler yapar ne tür bilgi ister ne döndürür vs.. gibi bilgilerin bulunduğu dosya. Onu kullanabilmek için Delphi'de (Delphi sürümünün WebServislerini desteklediğini varsayarak)
File > New ...> Others > WebServices > WSDL Importer seçeneğinde adresi girerek bu servis için kullanabileceğin bir unit hazırlatabilirsin. Sonra projene bu uniteyi ekleyip, istediğin hizmetleri alabilirsin.
File > New ...> Others > WebServices > WSDL Importer seçeneğinde adresi girerek bu servis için kullanabileceğin bir unit hazırlatabilirsin. Sonra projene bu uniteyi ekleyip, istediğin hizmetleri alabilirsin.
Bu işlem TCKimlikten daha kolay çünkü tek sorgu var. Ayrıca bir şeyler yaptırmak için illa buton veya edit olmasına gerek yok. Yardımcı olması açısından örnek bir kod
Kod: Tümünü seç
var
Service : Provizyon;
Input : WebInputDVO;
OutPut : WebOutputDVO;
begin
// Servisi al.
Service := GetProvizyon;
Input := WebInputDVO.Create;
// girdi bilgilerini doldur.
Input.karneNo:='55555';
Input.sicilNo:='55555';
Input.kurumKodu:='55555';
Input.sifre:='55555';
// Sorgula
OutPut := Service.provizyon(Input);
// Sorgulama yapıldı, OutPut ile istediğini yap.
Input.Free;
Output.Free;
Service := nil;
end;
WSDL ile import ettiğim zaman şu kodlar oluşuyor.
burda parametre gönderecek ve cevap alacak bişey bulamadım. yardımcı olursanız çok sevinirim. (gerçi yeterince yardımcı oldunuz ama darda kalana yardım sevaptır. isteyenin bi yüzü kara, vermeyenin 2)
Kod: Tümünü seç
// ************************************************************************ //
// Namespace : http://DVO.provizyon.saglik.emekli.gov.tr
// ************************************************************************ //
WebOutputDVO = class(DVOBase)
private
Fad: WideString;
FdurumKod: WideString;
FgununTarihi: WideString;
FkarneNo: WideString;
FsicilNo: WideString;
Fsoyad: WideString;
FprotokolNo: WideString;
published
property ad: WideString read Fad write Fad;
property durumKod: WideString read FdurumKod write FdurumKod;
property gununTarihi: WideString read FgununTarihi write FgununTarihi;
property karneNo: WideString read FkarneNo write FkarneNo;
property sicilNo: WideString read FsicilNo write FsicilNo;
property soyad: WideString read Fsoyad write Fsoyad;
property protokolNo: WideString read FprotokolNo write FprotokolNo;
end;
// ************************************************************************ //
// Namespace : http://DAO.provizyon.saglik.emekli.gov.tr
// transport : http://schemas.xmlsoap.org/soap/http
// style : document
// binding : ProvizyonSoapBinding
// service : ProvizyonService
// port : Provizyon
// URL : http://www.emekli.gov.tr/SaglikServisWeb/services/Provizyon
// ************************************************************************ //
Provizyon = interface(IInvokable)
['{8507450D-B3A7-52D0-2648-C9854644F50D}']
function provizyon(const input: WebInputDVO): WebOutputDVO; stdcall;
end;
function GetProvizyon(UseWSDL: Boolean=System.False; Addr: string=''; HTTPRIO: THTTPRIO = nil): Provizyon;
implementation
function GetProvizyon(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): Provizyon;
const
defWSDL = 'http://www.emekli.gov.tr/SaglikServisWeb/wsdl/tr/gov/emekli/saglik/provizyon/DAO/Provizyon.wsdl';
defURL = 'http://www.emekli.gov.tr/SaglikServisWeb/services/Provizyon';
defSvc = 'ProvizyonService';
defPrt = 'Provizyon';
var
RIO: THTTPRIO;
begin
Result := nil;
if (Addr = '') then
begin
if UseWSDL then
Addr := defWSDL
else
Addr := defURL;
end;
if HTTPRIO = nil then
RIO := THTTPRIO.Create(nil)
else
RIO := HTTPRIO;
try
Result := (RIO as Provizyon);
if UseWSDL then
begin
RIO.WSDLLocation := Addr;
RIO.Service := defSvc;
RIO.Port := defPrt;
end else
RIO.URL := Addr;
finally
if (Result = nil) and (HTTPRIO = nil) then
RIO.Free;
end;
end;
initialization
InvRegistry.RegisterInterface(TypeInfo(Provizyon), 'http://DAO.provizyon.saglik.emekli.gov.tr', 'UTF-8');
InvRegistry.RegisterDefaultSOAPAction(TypeInfo(Provizyon), '');
InvRegistry.RegisterInvokeOptions(TypeInfo(Provizyon), ioDocument);
RemClassRegistry.RegisterXSClass(DVOBase, 'http://DVO.provizyon.saglik.emekli.gov.tr', 'DVOBase');
RemClassRegistry.RegisterXSClass(WebInputDVO, 'http://DVO.provizyon.saglik.emekli.gov.tr', 'WebInputDVO');
RemClassRegistry.RegisterXSClass(WebOutputDVO, 'http://DVO.provizyon.saglik.emekli.gov.tr', 'WebOutputDVO');
end.
Bir WebInputDVO Create et ve property lerin içlerini uygun verilerle doldur.
Interface nesnesini al. (Bunları yukarıda .... yazdığım yerlere yaz)
İşte bu şekilde yapılıyor. TC kimlik no yu incele 
Kod: Tümünü seç
uses WSDLImportundanEldeEttiğinUnite;!!!!!!!!!!!!!!
var
FWebInputDVO: WebInputDVO;
FWebOutputDVO: WebOutputDVO;
FProvizyon: Provizyon;
begin
FWebInputDVO:= WebInputDVO.Create;
try
FWebInputDVO.Ad:= 'Mehmet';
......
.....
Kod: Tümünü seç
FProvizyon:= GetProvizyon;
FWebOutputDVO:= FProvizyon.provizyon(FWebInputDVO);
// FWebOutputDVO geriye ad Soyad gibi bilgileri döndürüyor sanırım.
finally
// Create edilen nesneleri temizle
FWebInputDVO.Free;
FWebOutputDVO.Free;
end;

WSDL Importer ile oluşan kodu kaydedin ve projenize ekleyin. Bir ünite olarak eklenmesi lazım. Kullanmak istediğiniz formun uses kısmına bu ünitenin adını ekleyin.
Bu ünite içinde WebInputDVO, WebInputDVO adlı 2 tane sınıf var. Sorgulama yapmak istediğinizde WebInputDVO sınıfından bir nesne yaratacaksınız ve sorgulama için gerekli alanları dolduracaksınız.
Bu fonksyion Provizyon Interface'ini kullanan bir nesne döndürecektir. Provizyon interfaceinin içinde de provizyon adlı bir fonksiyon var. Bu fonksiyon WebInputDVO sınıfından bir nesne alıyor ve WebOutputDVO sınıfından bir nesne döndürüyor.
Daha önce yazdığım örnek kodu inceleyiniz.
Bu ünite içinde WebInputDVO, WebInputDVO adlı 2 tane sınıf var. Sorgulama yapmak istediğinizde WebInputDVO sınıfından bir nesne yaratacaksınız ve sorgulama için gerekli alanları dolduracaksınız.
Kod: Tümünü seç
function GetProvizyon(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): Provizyon;
Daha önce yazdığım örnek kodu inceleyiniz.