rpclib 是一個(gè)非常好用的 python webservice 庫,可以動(dòng)態(tài)的生成 wsdl, 不過這個(gè)項(xiàng)目已經(jīng)基本停止,并被一個(gè)新的項(xiàng)目取代 spyne,由于舊的項(xiàng)目 工作已經(jīng)比較穩(wěn)定,所以我沒有貿(mào)然升級(jí)到 spyne。
我在 rpclib 編寫 service 方法時(shí),遇到一個(gè)奇怪的錯(cuò)誤: 訪問 wsdl (http://localhost:9898/?wsdl) 頁面,返回 502 Bad Gateway。
在日志中看到如下錯(cuò)誤信息:
我檢查了代碼,對(duì)比了之前可以工作的版本,發(fā)現(xiàn)并沒有什么不對(duì)的地方。
@srpc(RequestModel, _returns=Unicode)
def shenzhen(request):
"""
根據(jù)傳入的token、車牌號(hào)及車駕號(hào),以及驗(yàn)證碼
查詢?cè)撥囕v的違章記錄
"""
logging.info(request)
query = ShenZhenQuery(request)
return query.query_car_records()
但就是沒有正確生成 wsdl,后來我刪除了方法內(nèi)所有的內(nèi)容(包括注釋),只留下一條返回 unicode 字符串的語句,然后就工作正常了,但是當(dāng)我加入了方法的文檔注釋后,又出來了之前的錯(cuò)誤,于是我 懷疑到了注釋上:中文的注釋,卻沒有使用 unicode 字符串,于是使用 u"" 中文注釋 """ 后,一切正常!
查看生成的 wsdl,發(fā)現(xiàn)原來原來 rpclib 使用注釋生成了
根據(jù)傳入的token、車牌號(hào)及車駕號(hào),以及驗(yàn)證碼 查詢?cè)撥囕v的違章記錄
難怪一遇到中文注釋就會(huì)出錯(cuò)!
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

