top錯(cuò)誤診斷說(shuō)明_第1頁(yè)
top錯(cuò)誤診斷說(shuō)明_第2頁(yè)
top錯(cuò)誤診斷說(shuō)明_第3頁(yè)
top錯(cuò)誤診斷說(shuō)明_第4頁(yè)
top錯(cuò)誤診斷說(shuō)明_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、.:.;一、 錯(cuò)誤處置流程概覽從這個(gè)錯(cuò)誤處置流程可知,在整個(gè)錯(cuò)誤處置的過(guò)程中,一共可以分為3條主要的流程:懇求解析異常流程處置,平臺(tái)級(jí)錯(cuò)誤處置和業(yè)務(wù)調(diào)用錯(cuò)誤處置。當(dāng)然,這一切處置的最初也是最重要的一步就是:將效力器呼應(yīng)內(nèi)容保管下來(lái)。二、 效力器呼應(yīng)內(nèi)容透析效力器呼應(yīng)內(nèi)容,顧名思義就是isv調(diào)用top效力得到的呼應(yīng)的內(nèi)容。這些內(nèi)容可以最真實(shí)的反響出isv懇求的問(wèn)題和效力器當(dāng)前的情況,也最可以協(xié)助 isv找到問(wèn)題的所在。效力器呼應(yīng)內(nèi)容普通分為兩種:一種是wiki文檔中所編寫(xiě)的勝利調(diào)用所前往的字段,另一種是調(diào)用失敗的前往的錯(cuò)誤相關(guān)信息。1. 調(diào)用勝利前往格式調(diào)用勝利的呼應(yīng)信息內(nèi)容根據(jù)調(diào)用效力版本的不

2、同分為了兩種不同的格式。1.0的效力前往信息的格式分為三層:最外一層是rsp: 標(biāo)志,表示這是效力的呼應(yīng)內(nèi)容;中間一層是前往構(gòu)造體的標(biāo)志,如:前往的是商品的構(gòu)造體,中間這層就是items: , ,表示結(jié)果是一個(gè)商品的列表,假設(shè)前往參數(shù)不是以構(gòu)造體的方式,這一層就不存在;最內(nèi)一層就是每個(gè)構(gòu)造體詳細(xì)的字段了。1.0這個(gè)版本一切前往結(jié)果,不論是單個(gè)的商品還是一個(gè)商品列表,他的第二層都是一個(gè)列表的構(gòu)造,區(qū)別只是列表里有一個(gè)子構(gòu)造體還是有多個(gè)子構(gòu)造體而已。相比之下,2.0的效力前往信息就相對(duì)的規(guī)范化了。2.0的呼應(yīng)內(nèi)容主要也可以分為3層:最外一層是他調(diào)用效力的稱(chēng)號(hào)所對(duì)應(yīng)的呼應(yīng)標(biāo)志,如:獲取單個(gè)商品tao

3、bao.item.get的呼應(yīng)最外層為item_get_response: ,表示這是獲取單個(gè)商品的呼應(yīng);中間一層是前往構(gòu)造體的標(biāo)志。假設(shè)構(gòu)造體是單個(gè),那么2.0前往的這一層里面就會(huì)是單個(gè)的構(gòu)造,如:獲取的單個(gè)商品的構(gòu)造體就是item: ;反之,假設(shè)構(gòu)造體是多個(gè),那么列表也會(huì)明顯的表示出來(lái),如:搜索商品列表的構(gòu)造體就會(huì)是items:“item: , 。最外層的items表示這是一個(gè)商品的列表,后面的item表示列表中的每一個(gè)子構(gòu)造體都是屬于商品item的,然后就跟著商品的數(shù)據(jù);最內(nèi)一層就商品的詳細(xì)字段信息了。2. 調(diào)用錯(cuò)誤前往當(dāng)調(diào)用發(fā)生錯(cuò)誤的時(shí)候,普通情況下可以分為幾大類(lèi)錯(cuò)誤信息的前往:htt

4、p銜接錯(cuò)誤、平臺(tái)解析錯(cuò)誤、業(yè)務(wù)處置錯(cuò)誤。這三種類(lèi)型的錯(cuò)誤分別代表了:淘寶效力器、淘寶接入平臺(tái)、top-api業(yè)務(wù),幾個(gè)層次上出現(xiàn)的問(wèn)題。1) http銜接錯(cuò)誤http銜接錯(cuò)誤是懇求通訊過(guò)程中出現(xiàn)的錯(cuò)誤,這類(lèi)型錯(cuò)誤通常由http呼應(yīng)碼標(biāo)志出來(lái)。http呼應(yīng)碼由三位十進(jìn)制數(shù)字組成,它們出如今由HTTP效力器發(fā)送的呼應(yīng)的第一行。呼應(yīng)碼分五種類(lèi)型,由它們的第一位數(shù)字表示:1xx:信息,懇求收到,繼續(xù)處置2xx:勝利,行為被勝利地接受、了解和采用3xx:重定向,為了完成懇求,必需進(jìn)一步執(zhí)行的動(dòng)作4xx:客戶(hù)端錯(cuò)誤,懇求包含語(yǔ)法錯(cuò)誤或者懇求無(wú)法實(shí)現(xiàn)5xx:效力器錯(cuò)誤,效力器不能實(shí)現(xiàn)一種明顯無(wú)效的懇求Isv

5、調(diào)用top效力最常收到就是200:http懇求勝利;404:未找到懇求的效力;500內(nèi)部效力器錯(cuò)誤等等。假設(shè)用戶(hù)收到的呼應(yīng)碼是404,表示用戶(hù)的網(wǎng)絡(luò)有問(wèn)題或者top被調(diào)和了假設(shè)用戶(hù)收到的呼應(yīng)碼是500,表示網(wǎng)絡(luò)是ok的,是top的效力無(wú)法呼應(yīng)。2) 效力端錯(cuò)誤總述平臺(tái)解析錯(cuò)誤和業(yè)務(wù)處置錯(cuò)誤都是http勝利訪問(wèn)到top效力http呼應(yīng)碼前往為200之后所產(chǎn)生的錯(cuò)信息,他們top處置isv懇求過(guò)程中出現(xiàn)的問(wèn)題。1.0和2.0的格式有所不同。1.0的錯(cuò)誤呼應(yīng)信息最外層為“error_rsp: ,表示這是調(diào)用錯(cuò)誤所前往的信息。里面一層包含兩個(gè)元素:code: 和 “msg: ,前者表示錯(cuò)誤碼是多少,后

6、者表示錯(cuò)誤信息是什么。例如錯(cuò)誤的調(diào)用1.0的taobao.item.get效力錯(cuò)誤時(shí)前往的錯(cuò)誤信息:error_rsp:code:40,msg:Missing required arguments:missing parameter iid/num_iid。這個(gè)信息的開(kāi)頭為error_rsp,表示這是調(diào)用錯(cuò)誤所前往的結(jié)果。里面包含的錯(cuò)誤體的code為40,是平臺(tái)型錯(cuò)誤,表示錯(cuò)誤是短少了必傳參數(shù)所引起的。然后msg內(nèi)容為Missing required arguments:missing parameter iid/num_iid,表示短少的必傳參數(shù)是iid或者num_iid。Isv解析到這些信

7、息后就需求根據(jù)錯(cuò)誤信息改良本人傳入的參數(shù)來(lái)使調(diào)用勝利。2.0的錯(cuò)誤呼應(yīng)信息的最外層為“error_response: ,表示這是調(diào)用效力失敗所前往的錯(cuò)誤信息。信息體里面一層總共包含了五個(gè)元素:args:arg:“key:“ ,value: ,“key:“ ,value: ,“key:“ ,value: ,code: , “msg: ,sub_code: 和sub_msg: 。args表示用戶(hù)傳入的參數(shù)列表是什么,里面是一個(gè)arg的列表會(huì)包含用戶(hù)傳入的一切參數(shù)信息,每個(gè)arg表示一個(gè)參數(shù)的信息,key表示參數(shù)的稱(chēng)號(hào),value表示參數(shù)的內(nèi)容,用以方便用戶(hù)定位本人的錯(cuò)誤;code表示用戶(hù)調(diào)用錯(cuò)誤的

8、錯(cuò)誤碼是多少,小于200表示平臺(tái)級(jí)錯(cuò)誤,200-1000之間表示大范圍的業(yè)務(wù)錯(cuò)誤,即哪一類(lèi)型的api調(diào)用發(fā)生了錯(cuò)誤根據(jù)api的大類(lèi)來(lái)分,如:商品類(lèi)的api是530,買(mǎi)賣(mài)類(lèi)的api是520,等;msg表示大類(lèi)型的錯(cuò)誤碼所對(duì)應(yīng)的錯(cuò)誤信息,普通不具備獨(dú)立的debug作用,需求和sub_code和sub_msg一同運(yùn)用才行;sub_code是調(diào)用錯(cuò)誤的子錯(cuò)誤碼,他表示用戶(hù)調(diào)用錯(cuò)誤的緣由;sub_msg是子錯(cuò)誤碼所對(duì)應(yīng)的錯(cuò)誤信息,他用來(lái)補(bǔ)充細(xì)化子錯(cuò)誤碼的錯(cuò)誤緣由的。例如調(diào)用2.0的taobao.item.get效力錯(cuò)誤時(shí)前往的錯(cuò)誤信息:error_response:args:arg:key:app_ke

9、y,value:15739,key:fields,value:list_time,delist_time,approve_status,key:format,value:json,key:method,value:taobao.item.get,key:nick,value:tbtest561,key:partner_id,value:TOPTEST,key:sign,value:668FB4A049F71A1C845EF8C05B1F3E66,key:timestamp,value:2021-03-05 18:03:06.325,key:v,value:2.0,code:530,msg:Re

10、mote service error,sub_code:missing-parameter,sub_msg:iid和num_iid至少要傳入一個(gè)這個(gè)信息的開(kāi)頭為error_response,表示這是調(diào)用錯(cuò)誤所前往的錯(cuò)誤信息。里面的args列出了用調(diào)用這個(gè)接口傳入的信息有:key:app_key,value:15739,key:fields,value:list_time,delist_time,approve_status,key:format,value:json,key:method,value:taobao.item.get,key:nick,value:tbtest561,key:pa

11、rtner_id,value:TOPTEST,key:sign,value:668FB4A049F71A1C845EF8C05B1F3E66,key:timestamp,value:2021-03-05 18:03:06.325,key:v,value:2.0,這些信息是從用戶(hù)的懇求信息里面解析出來(lái)的。錯(cuò)誤碼code為530,表示這是調(diào)用商品的api所產(chǎn)生的錯(cuò)誤。錯(cuò)誤信息msg為Remote service error表示這是調(diào)用業(yè)務(wù)處置所產(chǎn)生的錯(cuò)誤。子錯(cuò)誤碼sub_code為:missing-parameter,表示這個(gè)錯(cuò)誤是由于短少了參數(shù)所產(chǎn)生的。子錯(cuò)誤信息sub_msg為:iid和num

12、_iid至少要傳入一個(gè),表示少傳的參數(shù)為iid或num_iid。這一切的錯(cuò)誤信息疊加起來(lái)可以知道,這個(gè)錯(cuò)誤是用戶(hù)調(diào)用taobao.item.get接口時(shí)業(yè)務(wù)處置發(fā)現(xiàn)用戶(hù)沒(méi)有傳入商品id所導(dǎo)致的。3) 平臺(tái)解析錯(cuò)誤平臺(tái)解析錯(cuò)誤是指top前往的錯(cuò)誤碼小于100的情況。平臺(tái)解析是非業(yè)務(wù)性的普適的校驗(yàn)接入層,主要用于對(duì)用戶(hù)的各種權(quán)限、和入?yún)⑦M(jìn)展最根本的校驗(yàn)。如今的平臺(tái)錯(cuò)誤碼主要有:Isv可以經(jīng)過(guò)錯(cuò)誤碼和解釋來(lái)糾正問(wèn)題。如:錯(cuò)誤碼為3的呼應(yīng)表示圖片上傳失敗,錯(cuò)誤碼為26表示用戶(hù)沒(méi)有傳入session參數(shù),錯(cuò)誤碼為27表示用戶(hù)傳入的session參數(shù)找不到對(duì)應(yīng)的session記錄,等等。4) 業(yè)務(wù)處置錯(cuò)誤

13、業(yè)務(wù)處置錯(cuò)誤是用戶(hù)經(jīng)過(guò)平臺(tái)校驗(yàn)進(jìn)入業(yè)務(wù)流程出現(xiàn)了錯(cuò)誤所發(fā)出來(lái)的。這一層的錯(cuò)誤碼根據(jù)調(diào)用版本不同分為兩種。假設(shè)版本是1.0,那么前往的錯(cuò)誤信息格式就是:“error_rsp:“code:XXX,msg:,里面的code是數(shù)字方式的標(biāo)志著一種錯(cuò)誤的編碼,msg是字符串方式,標(biāo)志在錯(cuò)誤的詳細(xì)信息。如,獲取當(dāng)商品失敗的錯(cuò)誤信息就是:error_rsp:code:551,msg:Item service unavailable:獲取單個(gè)商品失敗。1.0的錯(cuò)誤碼有以下幾種:1.0的前往的錯(cuò)誤code就是其中的錯(cuò)誤碼,錯(cuò)誤msg就是其中的英文錯(cuò)誤描畫(huà)加上詳細(xì)的錯(cuò)誤信息組成的。假設(shè)版本是2.0,那么效力器所前

14、往的錯(cuò)誤信息格式就是:“error_response:args:arg:“key:“ ,value: ,“key:“ ,value: ,“key:“ ,value: ,code: ,“msg: ,sub_code: ,sub_msg: ,里面的code是數(shù)字方式的標(biāo)志著一種業(yè)務(wù)類(lèi)型的錯(cuò)誤編碼,msg那么是比較大范圍內(nèi)的表示錯(cuò)誤類(lèi)型的字符串。而sub_code是以字符串方式粗略表示錯(cuò)誤的類(lèi)型,sub_msg那么是表示詳細(xì)的錯(cuò)誤緣由。2.0的code包含以下幾種分類(lèi):產(chǎn)品線(xiàn)錯(cuò)誤碼用戶(hù)500類(lèi)目510買(mǎi)賣(mài)520退款521商品530商品擴(kuò)展API531郵費(fèi)模板532產(chǎn)品540物流550店鋪560評(píng)價(jià)5

15、70淘寶客580系統(tǒng)590備案591增量API600比價(jià)610畫(huà)報(bào)620江湖630分銷(xiāo)640淘秀650收費(fèi)660Misc(保證金等雜項(xiàng)api)670由上圖可知,每一大類(lèi)的api在2.0中其實(shí)是共享一個(gè)code的,它能讓用戶(hù)在復(fù)雜組合調(diào)用中指點(diǎn)是哪一類(lèi)的api出現(xiàn)了問(wèn)題,實(shí)現(xiàn)初步的定位。2.0的業(yè)務(wù)錯(cuò)誤中,msg里面最容易出現(xiàn)的內(nèi)容就是Remote service error,這表示用戶(hù)是在經(jīng)過(guò)了平臺(tái)校驗(yàn)后進(jìn)展業(yè)務(wù)流程的時(shí)候出現(xiàn)的錯(cuò)誤。其他的錯(cuò)誤還有Remote Service Timeout:后臺(tái)處置業(yè)務(wù)超時(shí)等等的錯(cuò)誤。這一個(gè)錯(cuò)誤信息的力度比較粗,很難單獨(dú)用她進(jìn)展錯(cuò)誤處置。2.0的業(yè)務(wù)處置錯(cuò)誤

16、信息主要要看sub_code和sub_msg這連個(gè)字段。sub_code表示了效力費(fèi)對(duì)業(yè)務(wù)錯(cuò)誤的分類(lèi),sub_msg表示了是錯(cuò)誤緣由。Sub_code根據(jù)業(yè)務(wù)錯(cuò)誤類(lèi)型主要可以分為如下幾類(lèi)子錯(cuò)誤碼錯(cuò)誤歸類(lèi)user-not-exist用戶(hù)不存在missing-parameter短少參數(shù)invalid-parameter參數(shù)錯(cuò)誤parameters-mismatch參數(shù)不匹配主要針對(duì)那些需求一一對(duì)應(yīng)的入?yún)nvalid-permission權(quán)限缺乏remote-service-error調(diào)用后端效力錯(cuò)誤remote-service-timeout調(diào)用后端效力超時(shí)remote-connection-e

17、rror調(diào)用后端效力銜接錯(cuò)誤XXX-service-unavailable調(diào)用后端效力失敗item-extra-not-exist商品擴(kuò)展信息不存在trade-not-exist買(mǎi)賣(mài)記錄不存在refund-not-exist退款記錄不存在每一類(lèi)的子錯(cuò)誤碼代表著某一類(lèi)型的錯(cuò)誤,例如user-not-exist表示用戶(hù)傳入的nick或者用戶(hù)綁定的session所對(duì)應(yīng)的nick找不到對(duì)應(yīng)的用戶(hù)記錄,Invalid-permission表示用戶(hù)由于權(quán)限問(wèn)題不能進(jìn)展某些操作。sub_code給予isv或用戶(hù)以改良錯(cuò)誤的方向,而sub_msg那么通知用戶(hù)改良點(diǎn)。例如sub_code為invalid-par

18、ameter,sub_msg為用戶(hù)傳入的iid不能超越40個(gè),這就表示著,這次錯(cuò)誤的緣由是用戶(hù)傳入的參數(shù)iid由于數(shù)量超越40個(gè)而產(chǎn)生了錯(cuò)誤。錯(cuò)誤呼應(yīng)時(shí)用戶(hù)和效力器交互失敗的最直接展現(xiàn),isv在調(diào)用top效力時(shí),假設(shè)調(diào)用失敗,請(qǐng)盡量保管下錯(cuò)誤信息建議盡量改用2.0調(diào)用,這個(gè)版本的錯(cuò)誤信息比較全面,以便進(jìn)展后面的錯(cuò)誤清查。三、 呼應(yīng)格式錯(cuò)誤處置呼應(yīng)格式錯(cuò)誤是指用戶(hù)調(diào)用top效力時(shí),傳入?yún)?shù)設(shè)置了format參數(shù)為json,但是接遭到的卻為xml的呼應(yīng)格式,或者設(shè)置格式為xml接納到的卻為json呼應(yīng)的格式的情況。普通正常情況下這種情況是不會(huì)出現(xiàn)的,但是還是會(huì)有一些異常的情況會(huì)引起這個(gè)問(wèn)題。這種呼

19、應(yīng)格式錯(cuò)誤的問(wèn)題在isv的程序中通常會(huì)表現(xiàn)為,呼應(yīng)解析格式錯(cuò)誤。例如:用戶(hù)運(yùn)用的top的java SDK客戶(hù)端調(diào)用top效力,設(shè)置的format格式為json卻得到了一個(gè)xml的呼應(yīng),這是sdk就會(huì)報(bào)一個(gè)錯(cuò)誤說(shuō)呼應(yīng)開(kāi)場(chǎng)處短少一個(gè)“符號(hào)。這是由于xml呼應(yīng)是以“開(kāi)場(chǎng)的緣故。普通會(huì)發(fā)生這種景象的緣由有一下三種:用戶(hù)傳入的參數(shù)過(guò)大導(dǎo)致流解析異常,用戶(hù)調(diào)用太過(guò)頻繁道士呼應(yīng)異常,top效力器缺點(diǎn)。為了定位到問(wèn)題出在哪里,以便找到相應(yīng)的處理方法,用戶(hù)在遇到呼應(yīng)格式錯(cuò)誤的情況時(shí)可以參考以下步驟進(jìn)展調(diào)試。1. 呼應(yīng)格式格式錯(cuò)誤,但數(shù)據(jù)正確用戶(hù)第一步應(yīng)該分析一下相應(yīng)的內(nèi)容里面是不是除了格式錯(cuò)誤以外,其他的呼應(yīng)內(nèi)

20、容都是正確調(diào)用的前往結(jié)果。例如,有個(gè)用戶(hù)用top的sdk,設(shè)置format為json,調(diào)用top得到了這樣一個(gè)前往結(jié)果:com.taobao.api.json.JSONException:AJSONObjecttextmustbeginwithatcharacter111152021-03-0116:04:152021-03-0116:04:052021-03-0116:03:592021-03-0116:03:532021-03-0107:30:52從這個(gè)異常的開(kāi)頭可以看到,這是sdk的json解析拋了一個(gè)異常,說(shuō)呼應(yīng)內(nèi)容的內(nèi)容應(yīng)該是以“開(kāi)場(chǎng)的。這說(shuō)名,isv收到的呼應(yīng)格式一定出了問(wèn)題。再看

21、一下呼應(yīng)的內(nèi)容相應(yīng)結(jié)果標(biāo)簽之間包含了totalResults和item列表,這些數(shù)聽(tīng)闡明,這是調(diào)用商品查詢(xún)接口前往的結(jié)果數(shù)據(jù):查詢(xún)到的結(jié)果總數(shù)是1115條,當(dāng)前頁(yè)的商品iid和最近修正時(shí)間也在其中。這些查詢(xún)結(jié)果數(shù)據(jù)是正常的,但是前往格式卻不是傳入的json而是變成了xml。這位isv聯(lián)絡(luò)了top的技術(shù)支持,在建議減緩調(diào)用頻率以后,前往的數(shù)據(jù)格式正常了,這樣就暫時(shí)控制了這種情況的發(fā)生。同時(shí)技術(shù)支持將這些情況反映到了開(kāi)發(fā),top這邊后續(xù)就會(huì)找到問(wèn)題根源,進(jìn)一步杜絕這種情況的發(fā)生。2. 呼應(yīng)格式錯(cuò)誤,數(shù)據(jù)也錯(cuò)誤假設(shè)用戶(hù)第一步分析發(fā)現(xiàn),前往的信息并不是調(diào)用勝利的信息而是某個(gè)平臺(tái)錯(cuò)誤,而且用戶(hù)本身的參數(shù)

22、并不會(huì)導(dǎo)致這個(gè)錯(cuò)誤的產(chǎn)生,此時(shí)用戶(hù)就需求查看本人調(diào)用接口的參數(shù)了。假設(shè)用戶(hù)調(diào)用的接口需求傳入比較大的數(shù)據(jù)如:圖片、商品的長(zhǎng)篇描畫(huà)等等,那么用戶(hù)應(yīng)首先嘗試著減小這些入?yún)⒌胶戏ǚ秶鷥?nèi)輸入傳入小圖片或者之傳入少量的描畫(huà)文字等。假設(shè)用戶(hù)調(diào)用勝利,表示錯(cuò)誤是由于用戶(hù)入?yún)⑻蠛浅饬私馕鲥e(cuò)誤引起的,用戶(hù)應(yīng)配合本人所在地方的網(wǎng)速,懇求大小等等的信息合理設(shè)置本人的參數(shù)大小和接口調(diào)用順序。假設(shè)用戶(hù)減小參數(shù)還是解析失敗的話(huà),用戶(hù)嘗試著不傳入圖片或只傳入幾個(gè)字節(jié)的描畫(huà)的內(nèi)容進(jìn)展接口調(diào)用。在傳入描畫(huà)只需很少的字節(jié)的情況下:假設(shè)不傳圖片調(diào)用勝利了,那么應(yīng)該是top的效力器的問(wèn)題,請(qǐng)將這個(gè)情況反響給技術(shù)支持進(jìn)展處理;假設(shè)圖

23、片不傳調(diào)用依然失敗了,那么應(yīng)該是用戶(hù)的調(diào)用參數(shù)或網(wǎng)絡(luò)有問(wèn)題,請(qǐng)仔細(xì)對(duì)照文檔闡明對(duì)參數(shù)進(jìn)展修正或等待網(wǎng)絡(luò)形狀好一點(diǎn)的時(shí)候進(jìn)展調(diào)用??偟膩?lái)說(shuō),假設(shè)用戶(hù)發(fā)生了呼應(yīng)格式錯(cuò)誤的情況,普通分為三種情況:用戶(hù)本身傳入的format就是錯(cuò)誤的,這種情況用戶(hù)需求查看本人傳入的參數(shù)能否正確;用戶(hù)通訊的網(wǎng)絡(luò)太差,效力端呵斥懇求解析失敗而喪失了format信息,這種情況下用戶(hù)需求調(diào)整本人的網(wǎng)絡(luò)通訊情況,等情況恢復(fù)再調(diào)用;假設(shè)是其他由于圖片或調(diào)用太頻繁而引起的問(wèn)題,用戶(hù)需求減小圖片或減緩調(diào)用來(lái)提高勝利率,并且將這些情況通報(bào)給top技術(shù)支持的同窗。四、 平臺(tái)級(jí)錯(cuò)誤處置在前文的錯(cuò)誤綜述中引見(jiàn)過(guò),top的錯(cuò)誤可以分為平臺(tái)級(jí)錯(cuò)

24、誤和業(yè)務(wù)級(jí)錯(cuò)誤。所謂平臺(tái)級(jí)錯(cuò)誤就是指:錯(cuò)誤碼小于100的調(diào)用錯(cuò)誤。這種錯(cuò)誤普通是由于用戶(hù)的懇求不符合各種的根本校驗(yàn)而引起的。下面將對(duì)于各種平臺(tái)級(jí)錯(cuò)誤及相應(yīng)的處理方法陳列于此。錯(cuò)誤碼錯(cuò)誤解釋處理方法3圖片上傳失敗將傳入的圖片格式改為正確的格式、適當(dāng)?shù)拇笮〉膱D片放進(jìn)音訊體里面?zhèn)鬏斶^(guò)來(lái)。假設(shè)傳輸依然失敗需求減小圖片大小或者添加網(wǎng)絡(luò)帶寬進(jìn)展嘗試4用戶(hù)調(diào)用次數(shù)超限調(diào)整程序邏輯合理利用api,等第二天再調(diào)用。或者向技術(shù)運(yùn)維的同窗懇求添加調(diào)用次數(shù)5會(huì)話(huà)調(diào)用次數(shù)超限6協(xié)作同伴調(diào)用次數(shù)超限7運(yùn)用調(diào)用次數(shù)超限8運(yùn)用調(diào)用頻率超限Isv調(diào)理api調(diào)用頻率,不能太過(guò)頻繁的調(diào)用9HTTP方法被制止請(qǐng)用大寫(xiě)的POST或GE

25、T,假設(shè)有圖片等信息傳入那么一定要用POST才可以10效力不可用多數(shù)是由未知異常引起的,用戶(hù)仔細(xì)檢查本人傳入的參數(shù)能否符合文檔中描畫(huà)的樣子11開(kāi)發(fā)者權(quán)限缺乏appKey所對(duì)應(yīng)的運(yùn)用不具備權(quán)限調(diào)用當(dāng)前接口。需求聯(lián)絡(luò)運(yùn)營(yíng)或技術(shù)支持的同窗開(kāi)通調(diào)用該接口的權(quán)限。12用戶(hù)權(quán)限缺乏13協(xié)作同伴權(quán)限缺乏15遠(yuǎn)程效力出錯(cuò)Api調(diào)用后端效力出錯(cuò),isv首先查看本人的參數(shù)能否合法,假設(shè)參數(shù)沒(méi)有問(wèn)題請(qǐng)過(guò)一段時(shí)間再?lài)L試,假設(shè)還不行請(qǐng)聯(lián)絡(luò)技術(shù)支持21短少方法名參數(shù)傳入的參數(shù)參與method字段22不存在的方法名傳入的method字段必需是他所調(diào)用的api的稱(chēng)號(hào),并且該api是確實(shí)存在的23非法數(shù)據(jù)格式傳入的format

26、必需為json或xml中的一種24短少簽名參數(shù)傳入的參數(shù)中必需包含sign字段25非法簽名簽名必需根據(jù)正確的算法算出來(lái)的。算法請(qǐng)見(jiàn): HYPERLINK open.taobao/dev/index.php/API%E7%AD%BE%E5%90%8D%E7%AE%97%E6%B3%95 open.taobao/dev/index.php/API簽名算法26短少SessionKey參數(shù)傳入的參數(shù)中必需包含session字段27非法的SessionKey參數(shù)傳入的session必需是用戶(hù)綁定session拿到的。假設(shè)報(bào)session不合法能夠是用戶(hù)沒(méi)有綁定session或session過(guò)期呵斥的,用

27、戶(hù)需求重新綁定一下然后傳入新的sessionKey。28短少AppKey參數(shù)傳入的參數(shù)必需包含app_key字段29非法的AppKey參數(shù)用戶(hù)傳入的appKey參數(shù)確實(shí)是要存在的,假設(shè)沒(méi)有懇求appKey的同窗請(qǐng)去懇求appKey,假設(shè)是曾經(jīng)有了appKey卻調(diào)用不同過(guò)的,請(qǐng)聯(lián)絡(luò)技術(shù)支持處理30短少時(shí)間戳參數(shù)傳入的參數(shù)中必需包含timestamp參數(shù)31非法的時(shí)間戳參數(shù)用戶(hù)傳入的時(shí)間戳不合法。時(shí)間戳,格式為yyyy-mm-dd hh:mm:ss,例如:2021-01-25 20:23:30。淘寶API效力端允許客戶(hù)端懇求時(shí)間誤差為10分鐘。32短少版本參數(shù)傳入的參數(shù)中必需包含v字段33非法的版

28、本參數(shù)用戶(hù)傳入的版本號(hào)格式錯(cuò)誤,必需為數(shù)字格式34不支持的版本號(hào)用戶(hù)傳入的版本號(hào)沒(méi)有被提供。如今top只支持1.0或2.0兩種版本40短少必選參數(shù)用戶(hù)傳入的參數(shù)中漏掉了必傳的參數(shù)。請(qǐng)仔細(xì)對(duì)照文檔檢查41非法的參數(shù)用戶(hù)傳入的參數(shù)不符合文檔中闡明的參數(shù)格式,請(qǐng)參照文檔進(jìn)展修正42懇求被制止懇求 被制止目前沒(méi)有在控制43參數(shù)錯(cuò)誤參數(shù)解析發(fā)生錯(cuò)誤或異常。普通是用戶(hù)傳入?yún)?shù)非法引起的。請(qǐng)仔細(xì)檢查入?yún)⒏袷?、范圍、能否一一?duì)應(yīng)等等情況。44Isp error后臺(tái)接入效力錯(cuò)誤這種后臺(tái)效力異常引起的錯(cuò)誤,請(qǐng)聯(lián)絡(luò)技術(shù)支持。根本上來(lái)說(shuō),平臺(tái)錯(cuò)誤是一個(gè)通用的、普適的校驗(yàn)。普通針對(duì)用戶(hù)的權(quán)限、平安、流量和最根本的參數(shù)等

29、等進(jìn)展校驗(yàn)。用戶(hù)遇到這些錯(cuò)誤的前往一定要第一步檢查本人的權(quán)限、頻率等情況;然后就需求參照文檔檢驗(yàn)一下本人的傳入的參數(shù)能否完好且合法;假設(shè)這些都無(wú)法處理問(wèn)題,請(qǐng)聯(lián)絡(luò)技術(shù)支持的同窗進(jìn)展反響,top后臺(tái)會(huì)盡快處理這些問(wèn)題。五、 業(yè)務(wù)級(jí)錯(cuò)誤處置業(yè)務(wù)級(jí)錯(cuò)誤是指isv懇求進(jìn)入top業(yè)務(wù)處置以后爆出來(lái)的業(yè)務(wù)相關(guān)的錯(cuò)誤,通常錯(cuò)誤碼分部在500-1000之間。Top的業(yè)務(wù)錯(cuò)誤普通可以分為4個(gè)大類(lèi):參數(shù)錯(cuò)誤、權(quán)限控制、用戶(hù)不存在和效力錯(cuò)誤。1. 參數(shù)錯(cuò)誤參數(shù)錯(cuò)誤指topapi根據(jù)業(yè)務(wù)要求對(duì)用戶(hù)傳入的參數(shù)進(jìn)展校驗(yàn)組裝的時(shí)候產(chǎn)生的錯(cuò)誤。1.0中的參數(shù)錯(cuò)誤碼有: 505,Missing Parameters;506,P

30、arameters error;507,Parameters Format error和XXX,XXX not exist(這里XXX表示未知的數(shù)字或字符串)等等。其中:505表示短少傳入某些需求傳入的參數(shù)(如:獲取sku列表的時(shí)候要求至少傳入一個(gè)iid,isv卻什么都沒(méi)有傳入);506表示傳入的參數(shù)錯(cuò)誤如:傳入的iid找到對(duì)應(yīng)的商品已刪除、傳入的類(lèi)目不存在等等;507表示用戶(hù)傳入的參數(shù)的格式不符合規(guī)定如:需求傳入數(shù)字的參數(shù)用戶(hù)傳入了非數(shù)字的字符;XXX not exist表示根據(jù)用戶(hù)指定的參數(shù)如:iid、tid等數(shù)據(jù)找不到對(duì)應(yīng)的記錄,等等。2.0中的參數(shù)錯(cuò)誤的錯(cuò)誤碼是在調(diào)用前往的sub_co

31、de子錯(cuò)誤碼里面得到詳細(xì)表達(dá)的。2.0的參數(shù)錯(cuò)誤普通有如下幾個(gè)錯(cuò)誤碼:missing-parameter,invalid-parameter,parameters-mismatch,XXX-not-exist等等。這幾種錯(cuò)誤分別表示:missing-parameter表示短少了某些必傳參數(shù)如:獲取單個(gè)商品是iid和num_iid一個(gè)都沒(méi)傳入;invalid-parameter表示用戶(hù)傳入的參數(shù)錯(cuò)誤如:傳入的iids個(gè)數(shù)不符合規(guī)定,傳入的iid對(duì)應(yīng)的商品已刪除等等;parameters-mismatch表示用戶(hù)傳入的某些有對(duì)應(yīng)關(guān)系的參數(shù)個(gè)數(shù)不匹配了如:input_pids和input_str長(zhǎng)度

32、不匹配,或者sku_properties和sku的其他參數(shù)個(gè)數(shù)不匹配;XXX-not-exist表示用戶(hù)指定的參數(shù)找不到對(duì)應(yīng)的記錄即這個(gè)參數(shù)所對(duì)應(yīng)的記錄不存在或曾經(jīng)被刪除了。不論是1.0還是2.0的參數(shù)錯(cuò)誤,都是由于isv傳入的參數(shù)有問(wèn)題而引起的。用戶(hù)在遇到報(bào)參數(shù)錯(cuò)誤的情況下,需求查看對(duì)應(yīng)的錯(cuò)誤音訊內(nèi)容1.0就是msg,2.0是sub_msg中的闡明來(lái)進(jìn)展入?yún)⑿拚?。建議將這部分內(nèi)容展現(xiàn)給用戶(hù),可以讓用直觀的看到錯(cuò)誤的緣由,從而改良輸入。2. 權(quán)限控制權(quán)限控制的錯(cuò)誤是指用戶(hù)運(yùn)用了本人不享有的效力所呵斥的錯(cuò)誤。這類(lèi)型的錯(cuò)誤:1.0的錯(cuò)誤碼為:509,Permission limited;2.0的子

33、錯(cuò)誤碼為:invalid-permission。這類(lèi)型的錯(cuò)誤通常都是用戶(hù)進(jìn)展的操作觸碰到了淘寶的業(yè)務(wù)規(guī)那么,導(dǎo)致了top的業(yè)務(wù)校驗(yàn)不經(jīng)過(guò)。如:用戶(hù)沒(méi)有登錄卻要獲取某個(gè)賣(mài)家倉(cāng)庫(kù)中的商品,用戶(hù)不享有多圖效力卻要上傳商品多圖或商品屬性圖片,成人類(lèi)目直接上傳圖片,修正自動(dòng)發(fā)貨的商品,不是賣(mài)家或買(mǎi)家卻要獲取買(mǎi)賣(mài)詳細(xì)信息的這些錯(cuò)誤并不是用戶(hù)傳入的參數(shù)找不到相應(yīng)的數(shù)據(jù)、或者傳入的參數(shù)是錯(cuò)誤的呵斥的。相反的,用戶(hù)傳入的參數(shù)都符合文檔描畫(huà),但是用戶(hù)不具備權(quán)限來(lái)進(jìn)展相應(yīng)的操作。在這種情況下,isv有幾條路可以選擇。第一:對(duì)于查詢(xún)類(lèi)型的權(quán)限控制:假設(shè)用戶(hù)是信息的一切者,那么需求讓用戶(hù)進(jìn)展登錄綁定,這樣用戶(hù)就夠進(jìn)展權(quán)

34、限控制的操作了;假設(shè)用戶(hù)不是信息的合法查看人,那么isv要明確的通知用戶(hù)這個(gè)操作不可以進(jìn)展,并且不要進(jìn)展重試操作了。第二:對(duì)于增刪改類(lèi)型的操作的權(quán)限控制:假設(shè)用戶(hù)是由于沒(méi)有享有效力如:沒(méi)有享有圖片空間的效力而產(chǎn)生的權(quán)限限制,isv需求引導(dǎo)用戶(hù)去進(jìn)展效力的開(kāi)通后再來(lái)進(jìn)展操作,之后再重新調(diào)用接口;假設(shè)是由于用戶(hù)操作了他人的數(shù)據(jù)而引起的權(quán)限控制,那么isv要明確的跟用戶(hù)報(bào)錯(cuò),并且不能再進(jìn)展重試操作??傊?,當(dāng)用戶(hù)遇到報(bào)權(quán)限控制的錯(cuò)誤時(shí),isv不能直接進(jìn)展重試。應(yīng)該將問(wèn)題直接通知用戶(hù),并引導(dǎo)用戶(hù)進(jìn)展相關(guān)的登錄、開(kāi)通效力等操作來(lái)調(diào)整權(quán)限以后,再讓用戶(hù)重試操作。假設(shè)用戶(hù)不情愿進(jìn)展調(diào)整,isv此時(shí)應(yīng)該直接停頓

35、該操作,不能默許的進(jìn)展重試,由于這種前提下,重試是完全沒(méi)有作用的。3. 用戶(hù)不存在用戶(hù)不存在是指top后臺(tái)根據(jù)用戶(hù)綁定的nick或者傳入的nick對(duì)用戶(hù)信息進(jìn)展查詢(xún)的時(shí)候找不到用戶(hù)記錄所報(bào)出的錯(cuò)誤。1.0的錯(cuò)誤碼:601, User not exist;2.0的子錯(cuò)誤碼:user-not-exist。用戶(hù)遇到這種問(wèn)題首先請(qǐng)確認(rèn)調(diào)用的這個(gè)接口本人有沒(méi)有傳入nick這個(gè)參數(shù)。假設(shè)nick是根據(jù)用戶(hù)綁定的session獲得的,那么用戶(hù)需求過(guò)一會(huì)兒再重新調(diào)用看看。假設(shè)隔一段時(shí)間還不行,請(qǐng)聯(lián)絡(luò)技術(shù)支持處理。假設(shè)用戶(hù)本人經(jīng)過(guò)參數(shù)傳入了nick,那么請(qǐng)用戶(hù)仔細(xì)檢查本人傳入的nick能否正確。例如:有沒(méi)有多一

36、個(gè)空格或者大小寫(xiě)錯(cuò)誤的?該用戶(hù)能否確實(shí)存在的?等等。假設(shè)問(wèn)題是由于稱(chēng)號(hào)錯(cuò)誤或用戶(hù)確實(shí)不存在引起,用戶(hù)需求更改輸入?yún)?shù)后才干再次調(diào)用。假設(shè)用戶(hù)稱(chēng)號(hào)正確,用戶(hù)也確實(shí)存在,卻還是報(bào)用戶(hù)不存在錯(cuò)誤,用戶(hù)需求檢查傳入的nick能否包含難以識(shí)別的編碼的字體。假設(shè)nick中包含了火星文或者其他編碼的字體,請(qǐng)思索將nick轉(zhuǎn)換成utf8以后重新嘗試或者放棄此次操作。假設(shè)上述問(wèn)題都不存在,請(qǐng)聯(lián)絡(luò)技術(shù)支持的同窗進(jìn)展查看。整個(gè)查錯(cuò)過(guò)程如下所示:4. 效力錯(cuò)誤效力錯(cuò)誤主要指用戶(hù)的懇求經(jīng)過(guò)了api業(yè)務(wù)的根本校驗(yàn),在調(diào)用后臺(tái)效力的時(shí)候由于出現(xiàn)了異常或者更提高的業(yè)務(wù)報(bào)錯(cuò)而產(chǎn)生的錯(cuò)誤。這一類(lèi)錯(cuò)誤主要分為3個(gè)大類(lèi):效力調(diào)用錯(cuò)誤

37、、效力調(diào)用異常、遠(yuǎn)程調(diào)用錯(cuò)誤、top解析錯(cuò)誤。a) 效力調(diào)用錯(cuò)誤效力調(diào)用錯(cuò)誤,是指經(jīng)過(guò)top校驗(yàn)進(jìn)入后端調(diào)用效力以后,由于不符合進(jìn)一步的業(yè)務(wù)邏輯校驗(yàn)而出現(xiàn)的錯(cuò)誤。如:發(fā)布商品的屬性不符合商品類(lèi)目的要求,評(píng)價(jià)的買(mǎi)賣(mài)曾經(jīng)過(guò)期等等。這些錯(cuò)誤在1.0的錯(cuò)誤前往錯(cuò)誤碼為:XXX,XXX service error,在2.0的前往子錯(cuò)誤碼為:XXX-service-error。用戶(hù)遇到這種前往闡明top的效力是正常的,是用戶(hù)的參數(shù)不合規(guī)定所引起。請(qǐng)根據(jù)前往的詳細(xì)msg和sub_msg內(nèi)容定位問(wèn)題,然后矯正入?yún)⒑笤僬{(diào)用。假設(shè)確認(rèn)參數(shù)錯(cuò)誤卻不斷通不過(guò)調(diào)用,請(qǐng)聯(lián)絡(luò)技術(shù)支持的同窗咨詢(xún)情況,切勿盲目重試。b) 效力

38、調(diào)用異常效力調(diào)用異常是指效力調(diào)用過(guò)程中由于后端效力器沒(méi)有呼應(yīng)或者產(chǎn)生了異?;蛘遲op效力本身產(chǎn)生了未被捕獲的異常而產(chǎn)生的錯(cuò)誤。這些錯(cuò)誤在1.0的錯(cuò)誤前往錯(cuò)誤碼為:XXX,XXX service unavailable,在2.0的前往子錯(cuò)誤碼為:XXX-service-unavailable。這種錯(cuò)誤有能夠是后端效力暫時(shí)不可用所引起的,所以用戶(hù)遇到這種錯(cuò)誤時(shí)首先應(yīng)該查看前往的錯(cuò)誤信息里面有沒(méi)有有效的提示信息,假設(shè)有請(qǐng)先按照提示矯正問(wèn)題再調(diào)用;假設(shè)沒(méi)有有效的提示信息,請(qǐng)等待一段時(shí)間再調(diào)用。假設(shè)不斷都是這個(gè)錯(cuò)誤,請(qǐng)聯(lián)絡(luò)技術(shù)支持查看問(wèn)題所在。切忌立刻反復(fù)重試。c) 遠(yuǎn)程調(diào)用錯(cuò)誤遠(yuǎn)程調(diào)用錯(cuò)誤是指top在

39、調(diào)用后方效力時(shí)發(fā)生了調(diào)用錯(cuò)誤或超時(shí)的情況。這類(lèi)錯(cuò)誤能夠是由于后端效力過(guò)于忙碌或者效力失效引起的。這些錯(cuò)誤在1.0的錯(cuò)誤前往錯(cuò)誤碼為:900,Remote Connection Error,901,Remote Service Timeout,902,Remote Service Error,在2.0的前往子錯(cuò)誤碼為:remote-service-error,remote-service-timeout,remote-connection-error。用戶(hù)遇到這種情況,首先思索的是等待一段時(shí)間重試看效力能否恢復(fù)。假設(shè)效力曾經(jīng)恢復(fù),那么這個(gè)只是短時(shí)間效力過(guò)于擁堵呵斥的;假設(shè)多次重試依然是不可用,那

40、么這個(gè)能夠是后端效力出了問(wèn)題,請(qǐng)聯(lián)絡(luò)技術(shù)支持進(jìn)展處置。d) Top解析錯(cuò)誤Top解析錯(cuò)誤目前主要針對(duì)的是用戶(hù)調(diào)用top效力時(shí)產(chǎn)生的未被捕獲的空指針或者參數(shù)轉(zhuǎn)換異常所產(chǎn)生的錯(cuò)誤。這些錯(cuò)誤是由于用戶(hù)的懇求有錯(cuò)誤引發(fā)了top本身的效力流程的潛在隱患所引起的。1.0的錯(cuò)誤前往錯(cuò)誤碼為:510,Top parse error,在2.0的前往子錯(cuò)誤碼為:top-parse-error。用戶(hù)遇到這種問(wèn)題時(shí),請(qǐng)先仔細(xì)檢查本人的參數(shù),根據(jù)文檔闡明修正完善以后再?lài)L試調(diào)用,普通正常情況,只需入?yún)⒑戏ㄊ强梢詣倮?。假設(shè)確定參數(shù)正確的前提下還是調(diào)用報(bào)這個(gè)錯(cuò)誤,請(qǐng)聯(lián)絡(luò)技術(shù)支持的同窗反響這個(gè)問(wèn)題。六、 前往參數(shù)缺失處置前往

41、參數(shù)缺失是指用戶(hù)調(diào)用api前往勝利,但是音訊體里面的內(nèi)容和所懇求的內(nèi)容不一致的情況。這種情況細(xì)分可以分為三種情況:整個(gè)音訊體為空、音訊體短少文檔定義的構(gòu)造前往、前往的構(gòu)造體中短少fields指定的某些字段的前往。1. 整個(gè)音訊體為空或短少文檔中闡明的構(gòu)造體前往。整個(gè)音訊體為空或短少文檔中闡明的構(gòu)造體是指:前往結(jié)果是非失敗的情況下,得到的Response的body內(nèi)容和文檔定義不一致比文檔寫(xiě)到要短少某些內(nèi)容的情況。例如:調(diào)用新增商品接口,正常的前往結(jié)果1.0是:rsp:items:created:2021-11-17 16:30:50,iid:cbf8d5d64b3fc80b25d21b1e1c88fd41。2.0的前往結(jié)果是:item_add_response:item:iid:699e0a75fcea3966d1d57fc8278c674b,created:2021-10-22 15:08:42。根據(jù)文檔的闡明:添加商品勝利的前往構(gòu)造體中包含的數(shù)據(jù)就是這樣。以此種前往結(jié)果舉例,整個(gè)音訊體為空的情況是指前往的結(jié)果為: 或item_add_response: 。這個(gè)音訊體里面什么東西都沒(méi)有,既沒(méi)有報(bào)錯(cuò)的信息,也沒(méi)有

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論