# برنامه نویسی با محصولات مایکروسافت > برنامه نویسی مبتنی بر Microsoft .Net Framework > WCF , Web Services , .Net Remoting >  وب سرويس بيمه سلامت

## amirzazadeh

سلام و درود
دوستان گرامي در آدرس زير "وب سرويس بيمه سلامت " براي دريافت توكن و تاييد نسخه هست
https://yz.ihio.gov.ir/Portals/37/HD...-23-105319-563

لطفا راهنمايي بفرماييد با استفاده از vb.net چطوري مي تونم از وب سرويس توكن دريافت كنم .

----------


## mazoolagh

من یک نمونه با VB.NET میگذارم تا متوجه بشین چقدر کار ساده هست اونجا.

اول یک SERVICE REFRENCE به پروژه اضافه میکنیم:
ضمیمه 152335
اگر دقت کنید لیست تمام عملیات این سرویس خودکار ساختمه میشه و مثل یک تابع آماده میتونین از اون استفاده کنین.

یک کد نمونه شبیه زیر هست:
Dim asc As New HDKAuthenticationServiceClient
Dim w As New dtoAuthenticationInfoWrapper
w = asc.fetchAgentDailyToken(terminalId:=123, userName:="test", password:="test123")
Dim Token As String = w.generatedToken

----------


## amirzazadeh

> من یک نمونه با VB.NET میگذارم تا متوجه بشین چقدر کار ساده هست اونجا.
> 
> اول یک SERVICE REFRENCE به پروژه اضافه میکنیم:
> ضمیمه 152335
> اگر دقت کنید لیست تمام عملیات این سرویس خودکار ساختمه میشه و مثل یک تابع آماده میتونین از اون استفاده کنین.
> 
> یک کد نمونه شبیه زیر هست:
> Dim asc As New HDKAuthenticationServiceClient
> Dim w As New dtoAuthenticationInfoWrapper
> ...


http://s17.picofile.com/file/8411202092/error
با سلام و احترام 
با تشکر از کمک های ارزنده شما طبق راهنمایی وب سرویس رو به رفرنس ها اد  کردم و کدهای نمونه رو اضافه و اجرا کردم که متاسفانه در مرحله اجرا متوقف  شد.ممنون میشم بررسی بفرمایید.

----------


## amirzazadeh

با سلام و احترام 
فایل پروژه رو اپلود کردم.در صورت امکان دوستان عزیز  بررسی و اشکال کار رو مرتفع کنند.
...........................
سپاسگزارم
BimeWS.rar

----------


## 336699

سلام

برای دریافت توکن، شما باید پارامترهای مربوطه را با متد POST به وب سرویس ارسال کنید.(میتوانید از کتابخانه RestSharp استفاده نمایید که در nuget موجود است)

این پروژه را تست کنید

----------


## amirzazadeh

با سلام و درود 
بررسي مي كنم و نتيجه رو اعلام مي كنم

----------


## amirzazadeh

> سلام
> 
> برای دریافت توکن، شما باید پارامترهای مربوطه را با متد POST به وب سرویس ارسال کنید.(میتوانید از کتابخانه RestSharp استفاده نمایید که در nuget موجود است)
> 
> این پروژه را تست کنید


با سلام و احترام
بسیار سپاسگزارم. :تشویق:  :تشویق:  :تشویق:

----------


## mazoolagh

> من یک نمونه با VB.NET میگذارم تا متوجه بشین چقدر کار ساده هست اونجا.
> 
> اول یک SERVICE REFRENCE به پروژه اضافه میکنیم:
> ضمیمه 152335
> اگر دقت کنید لیست تمام عملیات این سرویس خودکار ساختمه میشه و مثل یک تابع آماده میتونین از اون استفاده کنین.
> 
> یک کد نمونه شبیه زیر هست:
> Dim asc As New HDKAuthenticationServiceClient
> Dim w As New dtoAuthenticationInfoWrapper
> ...


من این چند روز تاپیک بخش vb.net  رو چک میکردم و از این تاپیک بی خبر بودم!

میخواستم بدونم اشکال این کد (که آقای میرزازاده تست کردن و جواب نداده) در کجاست و روش درست اون چی هست.

----------


## mazoolagh

خب پرسش بالا که بی پاسخ موند!

اما در حالت عادی و صرفا برای ارسال به وب سرویس نیاز به چیز خاصی نیست.

Const AccountJSON As String = "{""terminalId"": 123456,""userName"": ""username_test"",""password"": ""password_test""}"
Dim wc As New System.Net.WebClient
wc.Encoding = System.Text.Encoding.UTF8
Dim response As String = wc.UploadString(wsurl, AccountJSON)
MsgBox(response,, "Response")
2.JPG

----------


## mazoolagh

اما برای ساخت و تفسیر رشته های json بهتره از ابزار مناسب استفاده کنیم.
یک نمونه کد با استفاده از newtonsoft.json شبیه این میشه:

Imports Newtonsoft.Json


Public Class Account
    Public Property terminalId As Int32
    Public Property userName As String
    Public Property password As String
End Class


Public Class DailyToken
    Public Property resCode As Integer
    Public Property resMessage As String
    Public Property info As DailyTokenInfo
End Class


Public Class DailyTokenInfo
    Public Property token As String
End Class

Dim account As Account = New Account With {
    .terminalId = 123456,
    .userName = "username_test",
    .password = "password_test"
    }


Dim AccountJSON As String = JsonConvert.SerializeObject(account, Formatting.None)
Dim wc As New System.Net.WebClient
wc.Encoding = System.Text.Encoding.UTF8
Dim response As String = wc.UploadString(wsurl, AccountJSON)
Dim dt As DailyToken = JsonConvert.DeserializeObject(Of DailyToken)(response)
MsgBox(dt.info.token,, "Daily Token")

1.JPG

----------


## mazoolagh

تاپیک مشابه در بخش اکسس:
https://barnamenevis.org/showthread....88%DB%8C%D8%B3

----------


## amirzazadeh

> اما برای ساخت و تفسیر رشته های json بهتره از ابزار مناسب استفاده کنیم.
> یک نمونه کد با استفاده از newtonsoft.json شبیه این میشه:
> 
> Imports Newtonsoft.Json
> 
> 
> Public Class Account
>     Public Property terminalId As Int32
>     Public Property userName As String
> ...



بسیار سپاسگزارم و ممنون به خاطر صرف وقت و انرژی  :تشویق:  :تشویق:  :تشویق:

----------

