PDA

View Full Version : وب سرويس بيمه سلامت



amirzazadeh
دوشنبه 21 مهر 1399, 10:39 صبح
سلام و درود
دوستان گرامي در آدرس زير "وب سرويس بيمه سلامت " براي دريافت توكن و تاييد نسخه هست
https://yz.ihio.gov.ir/Portals/37/HDK_ERX_WebServiceUserGuide_V_0.995.pdf?ver=1399-02-23-105319-563

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

mazoolagh
پنج شنبه 24 مهر 1399, 11:21 صبح
من یک نمونه با 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
یک شنبه 27 مهر 1399, 10:55 صبح
من یک نمونه با 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

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

amirzazadeh
شنبه 03 آبان 1399, 11:36 صبح
با سلام و احترام
فایل پروژه رو اپلود کردم.در صورت امکان دوستان عزیز بررسی و اشکال کار رو مرتفع کنند.
...........................
سپاسگزارم
152360

336699
یک شنبه 04 آبان 1399, 13:05 عصر
سلام

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

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

amirzazadeh
یک شنبه 04 آبان 1399, 13:13 عصر
با سلام و درود
بررسي مي كنم و نتيجه رو اعلام مي كنم

amirzazadeh
یک شنبه 04 آبان 1399, 15:16 عصر
سلام

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

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

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

mazoolagh
چهارشنبه 07 آبان 1399, 12:53 عصر
من یک نمونه با 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

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

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

mazoolagh
سه شنبه 13 آبان 1399, 09:25 صبح
خب پرسش بالا که بی پاسخ موند!

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

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")
152394

mazoolagh
سه شنبه 13 آبان 1399, 09:33 صبح
اما برای ساخت و تفسیر رشته های 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")

152395

mazoolagh
سه شنبه 13 آبان 1399, 09:36 صبح
تاپیک مشابه در بخش اکسس:
https://barnamenevis.org/showthread.php?562823-%D9%88%D8%A8-%D8%B3%D8%B1%D9%88%DB%8C%D8%B3

amirzazadeh
سه شنبه 13 آبان 1399, 11:45 صبح
اما برای ساخت و تفسیر رشته های 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")

152395


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