黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

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

系統(tǒng) 1900 0

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ò)誤信息:

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

我檢查了代碼,對(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 使用注釋生成了

復(fù)制代碼 代碼如下:

根據(jù)傳入的token、車牌號(hào)及車駕號(hào),以及驗(yàn)證碼 查詢?cè)撥囕v的違章記錄

復(fù)制代碼 代碼如下:

難怪一遇到中文注釋就會(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ì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論