欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用rpclib進(jìn)行Python網(wǎng)絡(luò)編程時的注釋問題

 更新時間:2015年05月06日 10:44:38   投稿:goldensun  
這篇文章主要介紹了使用rpclib進(jìn)行Python網(wǎng)絡(luò)編程時的注釋問題,作者講到了自己在編寫服務(wù)器時要用unicode注釋等需要注意的地方,需要的朋友可以參考下

rpclib 是一個非常好用的 python webservice 庫,可以動態(tài)的生成 wsdl, 不過這個項目已經(jīng)基本停止,并被一個新的項目取代 spyne,由于舊的項目 工作已經(jīng)比較穩(wěn)定,所以我沒有貿(mào)然升級到 spyne。

我在 rpclib 編寫 service 方法時,遇到一個奇怪的錯誤: 訪問 wsdl (http://localhost:9898/?wsdl) 頁面,返回 502 Bad Gateway。

在日志中看到如下錯誤信息:

復(fù)制代碼 代碼如下:
ValueError: All strings must be XML compatible: Unicode or ASCII, no NULL bytes or control characters

我檢查了代碼,對比了之前可以工作的版本,發(fā)現(xiàn)并沒有什么不對的地方。

@srpc(RequestModel, _returns=Unicode)
def shenzhen(request):
  """
  根據(jù)傳入的token、車牌號及車駕號,以及驗證碼
  查詢該車輛的違章記錄
  """
  logging.info(request)
  query = ShenZhenQuery(request)
  return query.query_car_records()

但就是沒有正確生成 wsdl,后來我刪除了方法內(nèi)所有的內(nèi)容(包括注釋),只留下一條返回 unicode 字符串的語句,然后就工作正常了,但是當(dāng)我加入了方法的文檔注釋后,又出來了之前的錯誤,于是我 懷疑到了注釋上:中文的注釋,卻沒有使用 unicode 字符串,于是使用 u"" 中文注釋 """ 后,一切正常!

查看生成的 wsdl,發(fā)現(xiàn)原來原來 rpclib 使用注釋生成了

復(fù)制代碼 代碼如下:
<wsdl:documentation>

根據(jù)傳入的token、車牌號及車駕號,以及驗證碼 查詢該車輛的違章記錄

復(fù)制代碼 代碼如下:
</wsdl:documentation>

難怪一遇到中文注釋就會出錯!

相關(guān)文章

最新評論