現在要做一個winform工具,需要呼叫別人提供的Web Service getMaterialList方法,檔案如下:
webservice介面使用方法
1. 所提供的webservice介面均有權限控制,在呼叫webservice介面獲取資料前,必須先通過呼叫tokenService介面獲取訪問授權令牌token。
2. 在呼叫其他介面時必須在請求頭部header帶上token資訊,webservice服務端根據token驗證訪問權限,驗證通過服務端才回傳請求的資料。
3.token的有效時間為120分鐘,超過時間token將失效,必須要重新獲取token才能繼續呼叫其他介面。
訪問token地址:
http://XXX/tokenService?wsdl
介面方法
public String getToken (String userId,String password)
呼叫介面獲取資料的方法:
a.在請求頭header節點下增加auth和token節點元素,帶上token資訊,如下:
<auth>
<token>123</token>
</auth>
b.呼叫相關介面
介面地址
http://XXXXXX/materialService?wsdl
介面方法
public List<Material> getMaterialList (String startDate,String endDate)
....
之前僅在練習的時候直接呼叫過web service方法,沒有用過訪問授權令牌token,
請問整個步驟應該是怎么樣的?可不可以幫忙寫個demo?謝謝
uj5u.com熱心網友回復:
這個其實是常用的方法,你需要補一下知識:1.http協議(尤其是header相關內容)
2.OAuth2
3.HttpClient類或RestSharp等類別庫的基本類別庫.
uj5u.com熱心網友回復:
【僅在練習的時候直接呼叫過web service方法】這個就夠用了,思路是這樣。
1、首次打開軟體,先訪問下 http://XXX/tokenService?wsdl, 有Redis就把回傳值的 token +過期時間存進去,或者直接資料庫建立個表存token+過期時間。把獲取token的方法寫成通用方法 A方法。
2、每次呼叫業務介面 都取下token表帶著一起請求,如果存盤的時間過期了,就再呼叫A方法更新token,然后再呼叫業務介面。
uj5u.com熱心網友回復:
可以每次在呼叫介面地址前都獲取一次token,免去判斷的麻煩,接下來就是正常的呼叫服務,很好理明白轉載請註明出處,本文鏈接:https://www.uj5u.com/net/195529.html
標籤:C#
