使用rpclib进行Python网络编程时的注释问题

 更新时间:2015年05月06日 10:44:38   投稿:goldensun  
这篇文章主要介绍了使用rpclib进行Python网络编程时的注释问题,作者讲到了自己在编写服务器时要用unicode注释等需要注意的地方,需要的朋友可以参考下

rpclib 是一个非常好用的 python webservice 库,可以动态的生成 wsdl, 不过这个项目已经基本停止,并被一个新的项目取代 spyne,由于旧的项目 工作已经比较稳定,所以我没有贸然升级到 spyne。

我在 rpclib 编写 service 方法时,遇到一个奇怪的错误: 访问 wsdl (http://localhost:9898/?wsdl) 页面,返回 502 Bad Gateway。

在日志中看到如下错误信息:

复制代码 代码如下:
ValueError: All strings must be XML compatible: Unicode or ASCII, no NULL bytes or control characters

我检查了代码,对比了之前可以工作的版本,发现并没有什么不对的地方。

@srpc(RequestModel, _returns=Unicode)
def shenzhen(request):
  """
  根据传入的token、车牌号及车驾号,以及验证码
  查询该车辆的违章记录
  """
  logging.info(request)
  query = ShenZhenQuery(request)
  return query.query_car_records()

但就是没有正确生成 wsdl,后来我删除了方法内所有的内容(包括注释),只留下一条返回 unicode 字符串的语句,然后就工作正常了,但是当我加入了方法的文档注释后,又出来了之前的错误,于是我 怀疑到了注释上:中文的注释,却没有使用 unicode 字符串,于是使用 u"" 中文注释 """ 后,一切正常!

查看生成的 wsdl,发现原来原来 rpclib 使用注释生成了

复制代码 代码如下:
<wsdl:documentation>

根据传入的token、车牌号及车驾号,以及验证码 查询该车辆的违章记录

复制代码 代码如下:
</wsdl:documentation>

难怪一遇到中文注释就会出错!

相关文章

  • Python中SOAP项目的介绍及其在web开发中的应用

    Python中SOAP项目的介绍及其在web开发中的应用

    这篇文章主要介绍了Python中的SOAP项目及其在web开发中的应用,本文来自于IBM官方网站技术文档,需要的朋友可以参考下
    2015-04-04
  • 如何用python脚本实现一次获取token,多次使用token

    如何用python脚本实现一次获取token,多次使用token

    这篇文章主要介绍了如何用python脚本实现一次获取token,多次使用token问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • 关于Python使用turtle库画任意图的问题

    关于Python使用turtle库画任意图的问题

    这篇文章主要介绍了Python turtle库画任意图,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • MacOS Pytorch 机器学习环境搭建方法

    MacOS Pytorch 机器学习环境搭建方法

    这篇文章主要介绍了MacOS Pytorch 机器学习环境搭建,学习 Pytorch ,首先要搭建好环境,这里将采用 Anoconda + Pytorch + PyCharm 来一起构建 Pytorch 学习环境,需要的朋友可以参考下
    2023-02-02
  • Pygame 精准检测图像碰撞的问题

    Pygame 精准检测图像碰撞的问题

    这篇文章主要介绍了Pygame 精准检测图像碰撞,在用Pygame写游戏的时候,有人可能会遇到两个Rect对象碰撞但是对象之间还有空间间隔的问题,这里,将教大家用一种方法精准地检测图像碰撞,需要的朋友可以参考下
    2022-06-06
  • 用virtualenv建立多个Python独立虚拟开发环境

    用virtualenv建立多个Python独立虚拟开发环境

    这篇文章主要为大家详细介绍了用virtualenv建立多个Python独立虚拟开发环境,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • 基于Pytorch实现逻辑回归

    基于Pytorch实现逻辑回归

    这篇文章主要为大家详细介绍了基于Pytorch实现逻辑回归,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • 利用python3 的pygame模块实现塔防游戏

    利用python3 的pygame模块实现塔防游戏

    这篇文章主要介绍了利用python3 的pygame模块实现塔防游戏,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • Python实现上下文管理器的示例代码

    Python实现上下文管理器的示例代码

    这篇文章主要为大家详细介绍了Python中实现上下文管理器的具体方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起了解一下
    2023-07-07
  • Python操作SQLite数据库过程解析

    Python操作SQLite数据库过程解析

    这篇文章主要介绍了Python操作SQLite数据库过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09

最新评论