Bu örneği geliştirirken bir blogdan faydalandım. Kullanıma hazır class halini buradan indirebilirsiniz.
1- Visual Studio'ya girip Class Library tipinde yeni bir C# projesi oluşturun.
2- Proje adındayken sağ klik Add service reference ile Address kısmına https://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx?WSDL, Namespace kısmına Sorgula yazarak GO butonuna basarak servis referansını ekleyin.
3- Projenizi Add to AOT ile AOT'a ekleyin.
4- Projenin properylerine girip
Debug Target = No
Deploy to Client = Yes
Deploy to EP = No
Deploy to Server = Yes
Deploy to SSRS = No
yapın.
5. Deploy yapıp tüm AX clientleri kapatın. Deploy esnasındaki mesajda tüm clientler kapatılmadıkça deploy işleminin tamamlanmayacağı yazıyor. Sanırım blog yazarı da bu yüzden clientları resetleyin diye uyarıyor.
Bu da benim örnek Jobum:
//Metin Emre, 2.10.2014
static void TCKimlikTest(Args _args)
{
CLRObject clientType;
TCKimlik.Sorgula.KPSPublicSoapClient cl;
System.Exception ex;
boolean s,erOccured;
System.Exception e;
str ret;
new InteropPermission(InteropKind::ClrInterop).assert();
try
{
clientType = CLRInterop::getType("TCKimlik.Sorgula.KPSPublicSoapClient");
cl = AifUtil::createServiceClient(clientType);
s = cl.TCKimlikNoDogrula(11111111111,"METİN","EMRE",1999);
}
catch(Exception::CLRError)
{
Ex=CLRInterop::getLastException();
ret = Ex.ToString();
if (!strScan(ret,"T.C. Kimlik No alanına girdiğiniz değer geçerli bir T.C. Kimlik Numarası değildir",1,strLen(Ret)))
{
info(Ex.ToString());
erOccured = true;
}
}
if (!erOccured)
info(strFmt("%1",s));
}