Page 13 - Nisan 2026
P. 13
im
Sayı 1 BilişimTeknoloji N san 2026
KOTkol k Kotkolik sayfamızın ilk kodunu bilgisayar mühendisi Erkan Coşkun
KKTC İçişleri Bakanlığı Nüfus Servislerini C# ile Consume Etme için
hazırlanan yardımcı kodu yayınlıyoruz.
Özet
Bu çalışmada, KKTC İç şler webRequest.Credentials = credentialCache;
Bakanlığı tarafından sunulan Nüfus
serv sler n n C# kullanılarak nasıl return webRequest;
}
entegre ed leceğ ele alınmıştır. SOAP
tabanlı bu serv s üzer nden k ml k Bu noktada b rkaç detay öneml d r. İstek t p POST
numarası le k ş sorgulama yapılmış, olarak bel rlenm ş, çer k t p XML olarak ayarlanmıştır.
dönen XML ver şlenerek uygulama Ayrıca serv s, Bas c Authent cat on kullandığı ç n
çer s nde kullanılab l r hale kullanıcı adı ve ş fre bu aşamada eklenm şt r. TLS 1.2
get r lm şt r. Ayrıca ver modelleme, kullanımı se güvenl let ş m ç n zorunludur.
bağlantı yönet m ve hata kontrolü
süreçler de ncelenm şt r.
SOAP Envelope Oluşturma
Giriş
Kamu kurumları arasında ver alışver ş , günümüzde yazılım Serv se gönder lecek ver XML formatında hazırlanır:
s stemler n n vazgeç lmez b r parçasıdır. Özell kle k ml k private static XmlDocument
doğrulama g b şlemlerde merkez s stemlerden ver çekmek CreateSoapEnvelope(Site site, long
büyük önem taşır. TransactionId, string KimlikNo)
KKTC'de nüfus b lg ler ne er ş m, İç şler Bakanlığı tarafından {
sağlanan SOAP serv sler üzer nden yapılmaktadır. Bu XmlDocument soapEnvelopeDocument = new
serv sler XML tabanlı çalıştığı ç n REST serv sler ne göre XmlDocument();
daha d kkatl b r entegrasyon sürec gerekt r r.
Bu çalışmada, bu serv s n C# le nasıl tüket leceğ gerçek b r soapEnvelopeDocument.LoadXml($@"
örnek üzer nden anlatılmıştır. <soapenv:Envelope
xmlns:soapenv=""http://schemas.xmlsoap.org/soa
p/envelope/""
SOAP Servisine Bağlan
xmlns:com=""http://com.netas.nufus.service/"">
Serv se bağlantı kurarken lk adım doğru b r HTTP steğ
<soapenv:Header/>
oluşturmaktır. Bu şlem aşağıdak metod le <soapenv:Body>
gerçekleşt r lm şt r: <com:KisiSorgulaKimlikNoV2Request>
private static HttpWebRequest <Header>
CreateWebRequest(Site site, string url)
{ <transactionId>{TransactionId}</transactionId>
HttpWebRequest webRequest =
(HttpWebRequest)WebRequest.Create(url); <application>{site.Nufusappname}</application>
webRequest.Headers.Add("SOAPAction", <operationName>{OperationName}</operationName>
SoapAction);
webRequest.ContentType = <transactionDate>{DateTime.Now:yyyy-MM-
"text/xml;charset=\"utf-8\""; ddTHH:mm:ss}</transactionDate>
webRequest.Accept = "text/xml"; </Header>
webRequest.Method = "POST";
webRequest.UserAgent = "Apache- <KimlikNo>{KimlikNo}</KimlikNo>
HttpClient/4.1.1 (java 1.5)";
</com:KisiSorgulaKimlikNoV2Request>
ServicePointManager.SecurityProtocol = </soapenv:Body>
SecurityProtocolType.Tls12; </soapenv:Envelope>");
CredentialCache credentialCache = new return soapEnvelopeDocument;
CredentialCache(); }
credentialCache.Add(new Uri(url), "Basic",
new
NetworkCredential(site.Nufuskullaniciad,
site.Nufussifre));
Devamı sonrak sayfada...
Sayfa 12

