首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spyne和Django-丝绸的请求后错误

Spyne和Django-丝绸的请求后错误
EN

Stack Overflow用户
提问于 2019-02-12 15:11:34
回答 1查看 365关注 0票数 0

我已经在Django中使用spyne作为SOAP服务器。我安装了django-丝绸来监控请求。对于GET请求,它可以正常工作,但是当我使用POST时,我会得到下面的错误和超时。如果我把django-丝绸移走,它就可以用了。斯宾的django.py of spyne在有个问题

代码语言:javascript
复制
response = WsgiApplication.__call__(self, environ, start_response)

错误是以下

代码语言:javascript
复制
Traceback (most recent call last):
  File "/home/test/django/django-apps/venv-test/lib/python2.7/site-packages/django/core/handlers/exception.py", line 41, in inner
    response = get_response(request)

  File "/home/test/django/django-apps/venv-test/lib/python2.7/site-packages/django/core/handlers/base.py", line 187, in _get_response
    response = self.process_exception_by_middleware(e, request)

  File "/home/test/django/django-apps/venv-test/lib/python2.7/site-packages/django/core/handlers/base.py", line 185, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/home/test/django/django-apps/venv-test/lib/python2.7/site-packages/django/views/decorators/csrf.py", line 58, in wrapped_view
    return view_func(*args, **kwargs)
  File "/home/test/django/django-apps/venv-test/lib/python2.7/site-packages/spyne/server/django.py", line 89, in __call__
    response = WsgiApplication.__call__(self, environ, start_response)
  File "/home/test/django/django-apps/venv-test/lib/python2.7/site-packages/spyne/server/wsgi.py", line 304, in __call__
    return self.handle_rpc(req_env, start_response)
  File "/home/test/django/django-apps/venv-test/lib/python2.7/site-packages/spyne/server/wsgi.py", line 411, in handle_rpc
    contexts = self.generate_contexts(initial_ctx, in_string_charset)
  File "/home/test/django/django-apps/venv-test/lib/python2.7/site-packages/spyne/server/_base.py", line 64, in generate_contexts
    self.app.in_protocol.create_in_document(ctx, in_string_charset)
  File "/home/test/django/django-apps/venv-test/lib/python2.7/site-packages/spyne/protocol/soap/soap11.py", line 202, in create_in_document
    charset)
  File "/home/test/django/django-apps/venv-test/lib/python2.7/site-packages/spyne/protocol/soap/soap11.py", line 96, in _parse_xml_string
    chunk = next(xml_string)
StopIteration

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2019-02-13 09:30:52

Probaby丝绸正在使用返回值中的生成器,这不会给客户机留下任何数据。

我在文档中简要地提到了这一点:types.html#arrays

..。返回值可以是生成器,除非将数据返回给客户端,否则不能使用。这对诸如自定义记录器是有用的,因为他们不应该尝试记录返回值(因为这意味着要消耗生成器)。

如果您可以自己使用生成器,并将其替换为具有相同数据的列表或元组,则它可以工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54653159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档