# برنامه نویسی با محصولات مایکروسافت > برنامه نویسی مبتنی بر Microsoft .Net Framework > WCF , Web Services , .Net Remoting > سوال: چند سوال در مورد سامانه ی استعلام آنی ( سانی ) بانک ملی

## ایمان اختیاری

از دوستان کسی با این سامانه کار کرده ؟ چند تا سوال دارم
اولین سوال اینکه چرا متداش null بر می گردونه لعنتی ..
دوم:خروجی متد Getbackstatement از چه نوعیه ؟ من رفرنساشو نگیا کردم گویا باید Transaction باشه..

این با چی نوشته شده ؟ 
سوال بازم دارم اگه کسی لطف کنه متشکر می شم ..

----------


## saba.mgh

سلام آقای اختیاری
خوبین؟ من دارم این نرم افزار رو طراحی میکنم میتونم خروجیشکه string هستش . 
میتونید کمکم کنید که چجوری با کلاس getbankstatement ارتباط برقرار کردی چون من وقتی وب سرویس رو به برنامه اضافه کردم برای اتصال. دو تابع  getbankstatement request , getbankstatem response قابل استفاده بود . شما از کدوم تابع برای ارسال پارامترها استفاده کردین ؟ نمونه کد میخوام دارین؟ از شماره تماستونو بدین ممنون میشم.

----------


## ایمان اختیاری

سلام .. مرسی
ببینید .. 
نمی دونم چقدر با linq اشنا هستید 
اما اینجا خیلی به کار می یاد .. 
شما با این کد می تونید مقادیرتون رو به تابع getbankStatment بفرستید : 
 var query = web.getBankStatement(user, pass, accnum, startdate, starttime, enddate, endtime);

حالا ما همه خروجی رو احتیاج که نداریم 
از کد زیر برای انتخاب بعضی موارد استفاده می کنیم : 
var result = from m in query
                             where m.typeTransaction == "C"
                             select new
                             {
                                 accnumber= m.complementalInformation2,
                                 amount = m.amountTransaction,
                                 fishnum = m.complementalInformation1,
                                 fishdate = m.dateTeller

                             };

دیگه باقیش ساده اس .. توی متغییر result موارد خواسته شده قرار می گیره .

----------


## saba.mgh

سلام من وقتی پارامترا رو میفرستم خطای 
Could not establish trust relationship for SSL/TLS secure channel
میده ، میشه راهنماییم کنید؟ 
مرسی

----------


## saba.mgh

سلام مهندس جان 
بابا این کدیکه دادی در قسمت var result = from m in query  به query گیر میده (خطا داره) 
به شکل  var result=from m in qury.transactionsList اصلاحش کردم درست شد ولی  در اجرای کد خطای system.argumentnullexception: value cannot be null رو میده چیکار کنم ؟

راستی ازresult چطوری باید استفاده کنم؟
شما قبلا گفته بودید متدا همش nullبرمیگردونه  درست شد ازمنم همینطور شده ؟
میتونید راهنماییم کنید.

مرسی .ببخشید مزاحمت میشم

----------


## ایمان اختیاری

من از این روش استفاده کردم : 
یه کلاس به برنامه اضافه کردم این کد رو توی کلاس نوشتم : 
 public class TrustAllCertificatePolicy : System.Net.ICertificatePolicy
    {
        public TrustAllCertificatePolicy()
        { }

        public bool CheckValidationResult(ServicePoint sp,
         X509Certificate cert, WebRequest req, int problem)
        {
            return true;
        }
    }

توی فورم لود هم این کد رو اضافه کردم : 
 System.Net.ServicePointManager.CertificatePolicy = new TrustAllCertificatePolicy();




> سلام من وقتی پارامترا رو میفرستم خطای 
> Could not establish trust relationship for SSL/TLS secure channel
> میده ، میشه راهنماییم کنید؟ 
> مرسی

----------


## ایمان اختیاری

خب .. ببین دوست عزیز 
من سرویس بانک رو به اسم BMI2 توی برنامه اضافه کردم 
قبل از فورم لود این کد رو اضافه کردم که یه شیی جدید از سرویس ساخته بشه 

BMI2.BillingServerService web = new BMI2.BillingServerService();
بعدش این طوری تابع مورد نظرم رو فراخوانی کردم .. 
var query = web.getBankStatement(user, pass, accnum, startdate, starttime, enddate, endtime);

حالا اگه باز مشکلی هست این قطعه کدت رو بذار ببینم .

----------


## emad4000

> خب .. ببین دوست عزیز 
> من سرویس بانک رو به اسم BMI2 توی برنامه اضافه کردم 
> قبل از فورم لود این کد رو اضافه کردم که یه شیی جدید از سرویس ساخته بشه 
> 
> BMI2.BillingServerService web = new BMI2.BillingServerService();
> ...


قابل توجه دوستانی که از نسخه جدید این وب.سرویس (نسخه 2.7.8) استفاده می کنن. در نسخه جدید اسم کلاس سرویس عوض شده و به نام BillingServerClient هست.
همچنین موقع تعریف این شیئ باید اسم endpoint مربوطه (که توی web.config تعریف شده) رو بهش پاس بدین
بنابراین اگر مثلاً name این endpoint توی فایل web.config برابر myEndPoint باشه، تعریف شیئ سرویس به این شکل میشه :

BMI2.BillingServerClient web = new BMI2.BillingServerClient("myEndPoint");

----------

