AttributeError:“NoneType”对象在 suds 中没有属性“str”

2023-12-28

我在我们的项目中使用 WSDL 的 suds 客户端。

我有这个代码。

sudsclient = sudsClient(settings.WSDL_URL)
values = {
                                    "MerchantCode": settings.YP_MERCHANT_CODE,
                                    "MerchantReference": str(reference_id),
                                    "TransactionType":settings.YP_TRANSACTION_TYPE,
                                    "Amount":int(charged),
                                    "CurrencyCode":client.currency,
                                    "CardHolderName":str(form.cleaned_data['name_on_card']),
                                    "CardNumber": str(form.cleaned_data['card_number']),
                                    "ExpiryMonth":int(form.cleaned_data['exp_month']),
                                    "ExpiryYear":int(form.cleaned_data['exp_year']),
                                    "CardID":0,
                                    "CardSecurityCode":str(form.cleaned_data['security_code']),
                                    "CustomerAccountNumber":"",
                                    "BillNumber":0,
                                    "CardHolderEmail":str(form.cleaned_data['email']),
                                    "ClientIPAddress":get_ip,
                                    "Notes":"OK",
                                            }
response = sudsclient.service.OnlineTransaction(**values)

当我运行我的程序时,我收到此错误:

Exception Type: AttributeError
Exception Value:    
'NoneType' object has no attribute 'str'
Exception Location: /usr/local/lib/python2.7/dist-packages/suds/sax/document.py in str, line 48

我确信我本地和测试中的代码是相同的。

我认为问题在于suds,但我不知道如何解决它。

有谁可以帮助我解决我的情况吗? 提前致谢 ..

 Environment:

Request Method: GET
Request URL: http://127.0.0.1:8000/1/book/save/?csrfmiddlewaretoken=05e5bdb542c3be7515b87e8160c347a0&check_in=2012-04-24&check_out=2012-04-25&no_of_nights=1&quantity=1&product=4&price=900.0&chargedMasterCard=180.0&chargedVisa=90.0&totalcostMasterCard=720.0&totalcostVisa=810.0&totalcost=900.0&charged=10.0&price_rate=1000.0&old_totalcost=1000.0&discount_charged=100.0&first_name=dsnmbmh&last_name=jhbjhb&email=jdlabandero%40agile.com.ph&contact=657879&address=gjkj&no_of_adult=1&no_of_kid=0&memo=&card_type=MasterCard&card_number=40000234234210&security_code=788&name_on_card=ghjk&exp_month=1&exp_year=2012

Django Version: 1.3.1
Python Version: 2.7.1
Installed Applications:
['admin_tools',
 'admin_tools.theming',
 'admin_tools.menu',
 'admin_tools.dashboard',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.sites',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django.contrib.humanize',
 'django.contrib.admin',
 'surebooked.booking',
 'surebooked.api',
 'surebooked.account_app',
 'surebooked.client_app',
 'surebooked.product_app',
 'surebooked.report_app',
 'debug_toolbar',
 'billing',
 'south',
 'paypal.standard.ipn',
 'django_extensions',
 'cms',
 'menus',
 'mptt',
 'south',
 'cms.plugins.text',
 'cms.plugins.picture',
 'cms.plugins.link',
 'cms.plugins.file',
 'cms.plugins.snippet',
 'cms.plugins.googlemap',
 'sekizai',
 'django.contrib.admin',
 'filer',
 'sorl.thumbnail',
 'easy_thumbnails',
 'cmsplugin_filer_file',
 'cmsplugin_filer_folder',
 'cmsplugin_filer_image',
 'cmsplugin_filer_teaser',
 'cmsplugin_filer_video',
 'media_tree',
 'django_cron']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.csrf.CsrfResponseMiddleware',
 'debug_toolbar.middleware.DebugToolbarMiddleware',
 'media_tree.middleware.SessionPostMiddleware',
 'cms.middleware.page.CurrentPageMiddleware',
 'cms.middleware.user.CurrentUserMiddleware',
 'cms.middleware.toolbar.ToolbarMiddleware')


    Traceback:
    File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
      111.                         response = callback(request, *callback_args, **callback_kwargs)
    File "/home/agileone/workspace/surebooked/surebooked/../surebooked/booking/views.py" in booking_save_page
      752.                             response = sudsclient.service.OnlineTransaction(**values)
    File "/usr/local/lib/python2.7/dist-packages/suds/client.py" in __call__
      542.             return client.invoke(args, kwargs)
    File "/usr/local/lib/python2.7/dist-packages/suds/client.py" in invoke
      595.         soapenv = binding.get_message(self.method, args, kwargs)
    File "/usr/local/lib/python2.7/dist-packages/suds/bindings/binding.py" in get_message
      120.         content = self.bodycontent(method, args, kwargs)
    File "/usr/local/lib/python2.7/dist-packages/suds/bindings/document.py" in bodycontent
      63.             p = self.mkparam(method, pd, value)
    File "/usr/local/lib/python2.7/dist-packages/suds/bindings/document.py" in mkparam
      105.             return Binding.mkparam(self, method, pdef, object)
    File "/usr/local/lib/python2.7/dist-packages/suds/bindings/binding.py" in mkparam
      287.         return marshaller.process(content)
    File "/usr/local/lib/python2.7/dist-packages/suds/mx/core.py" in process
      62.             self.append(document, content)
    File "/usr/local/lib/python2.7/dist-packages/suds/mx/core.py" in append
      73.         log.debug('appending parent:\n%s\ncontent:\n%s', parent, content)
    File "/usr/lib/python2.7/logging/__init__.py" in debug
      1120.             self._log(DEBUG, msg, args, **kwargs)
    File "/usr/lib/python2.7/logging/__init__.py" in _log
      1250.         self.handle(record)
    File "/usr/lib/python2.7/logging/__init__.py" in handle
      1260.             self.callHandlers(record)
    File "/usr/lib/python2.7/logging/__init__.py" in callHandlers
      1300.                     hdlr.handle(record)
    File "/usr/lib/python2.7/logging/__init__.py" in handle
      744.                 self.emit(record)
    File "/home/agileone/workspace/surebooked/surebooked/.ve/src/django-debug-toolbar/debug_toolbar/panels/logger.py" in emit
      51.             'message': record.getMessage(),
    File "/usr/lib/python2.7/logging/__init__.py" in getMessage
      328.             msg = msg % self.args
    File "/usr/local/lib/python2.7/dist-packages/suds/sax/document.py" in __str__
      58.         return unicode(self).encode('utf-8')
    File "/usr/local/lib/python2.7/dist-packages/suds/sax/document.py" in __unicode__
      61.         return self.str()
    File "/usr/local/lib/python2.7/dist-packages/suds/sax/document.py" in str
      48.         s.append(self.root().str())

    Exception Type: AttributeError at /1/book/save/
    Exception Value: 'NoneType' object has no attribute 'str'

我真的不知道为什么会出现这个错误。 现在我在本地和生产中遇到了同样的错误。 顺便说一句,当我分离代码并尝试运行时。运行正常。

南方测试.py

#!/usr/bin/env python
import os
from suds.client import Client as abo

WSDL = 'DirectConnect.production.wsdl'

#def test_api():
url = 'file://' + os.path.join(os.path.abspath(os.path.dirname(__file__)), WSDL)
print url
client = abo(url)

data = {
    'MerchantCode': 'HELLO',
    'MerchantReference':  '3252',
    'TransactionType': 20,
    'Amount': 10,
    'CurrencyCode': 'USD',
    'CardHolderName': 'RAUL O REVECHE',
    'CardNumber': 4005550000000001,
    'ExpiryMonth': 5,
    'ExpiryYear': 2013,
    'CardID': 0,
    'CardSecurityCode': 400,
    'CustomerAccountNumber': '',
    'BillNumber': 0,
    'CardHolderEmail': '[email protected] /cdn-cgi/l/email-protection',
    'ClientIPAddress': 'http://127.0.0.1:8000/',
    'Notes': 'This is test',
}

print data
result = client.service.OnlineTransaction(**data)
print result.ResponseDescription

臭虫存在于泡沫中。 @okm 很接近,但问题确实在于Document.__str__。然而,该错误仅在使用 django-debug-toolbar 时才会暴露,因为日志记录面板显示已记录的所有消息。这会触发泡沫错误。

我创建了一个修补版本的肥皂水来解决这个问题:https://github.com/bradleyayers/suds-htj https://github.com/bradleyayers/suds-htj

Edit:我的补丁现已合并到https://github.com/htj/suds-htj https://github.com/htj/suds-htj– 使用该存储库代替

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AttributeError:“NoneType”对象在 suds 中没有属性“str” 的相关文章

  • 如何使用基于类的视图处理表单(通过 get 或 post)?

    我正在尝试学习基于类的视图 因为详细信息或列表视图并不那么复杂 我有一个搜索表单 我只想看看是否发送查询来显示结果 这是函数代码 不是我的 来自 django 书籍 def search page request form SearchFo
  • django jet 中的自定义徽标

    我目前正在尝试对 django 管理面板的皮肤进行一些定制 以使其更符合我们的品牌 目前我们使用 django jet 来美化管理面板 django jet 可以自定义 css html 吗 所有评论都说我应该更改一些 html 文件 但我
  • Django:分解视图

    这实际上只是一个 最佳实践 问题 我发现在开发应用程序时 我经常会遇到a lot的意见 将这些视图分成几个视图文件是常见的做法吗 换句话说 不仅仅是views py 通常还有views 1 py views 2 py views 3 py
  • Django 在 rss feed 中指定频道图像的方式

    在 rss feed 中指定频道图像的 django way 是什么 我可以通过滚动我自己的 xml 来手动完成此操作 但我正在寻找一种正确的方法来完成此操作 Editdobrych 的解决方案在这里不太适用 因为我具体询问的是 RSS 而
  • 如何将 max_length 添加到 allauth 用户名

    我使用 Django allauth 作为我的 Django 站点的用户帐户框架 文档显示有一个ACCOUNT USERNAME MIN LENGTH http django allauth readthedocs io en latest
  • 从 Django 调用 Postgres SQL 存储过程

    我正在开发一个带有 Postgresql 数据库的 Django 项目 我编写了一个可以在 Postgres 上完美运行的存储过程 现在我想从 Django 1 5 调用该存储过程 我已经编写了代码 但它提示错误 CREATE FUNCTI
  • 无故运行测试时 PyCharm 抛出“AttributeError: 'module' object has no attribute”

    因此 我有一个 Django REST Framework 项目 有一天它无法在 PyCharm 中运行测试 从命令行我可以使用它们来运行它们paver or the manage py直接地 曾经有一段时间 当我们没有在文件顶部导入类的超
  • Django通用外键和select_相关

    我试图使用与通用外键的关系来选择模型 但它没有按预期工作 我认为用代码可以更好地说明和理解 class ModelA models Model created models DateTimeField auto now add True c
  • Django - 提交具有同一字段多个输入的表单

    预警 我对 Django 以及一般的 Web 开发 非常陌生 我使用 Django 托管一个基于 Web 的 UI 该 UI 将从简短的调查中获取用户输入 通过我用 Python 开发的一些分析来提供输入 然后在 UI 中呈现这些分析的可视
  • 更新序列化器时,嵌套序列化器没有实例(many = true)

    我有 UserSerializer 和嵌套的 UserClientSerializer 我正在尝试更新已登录用户的信息 但我收到 unique together 验证错误 我有以下型号 模型 py class UserClients mod
  • Django:使用条件 {% extends %} 使 {% block "div" %} 成为条件

    我想分享一个 AJAX 和常规 HTTP 调用之间的模板 唯一的区别是一个模板需要扩展 base html html 而另一个则不需要 我可以用 extends request is ajax yesno app base ajax htm
  • Django“和”Pinax 还是只是 Pinax?

    我正在开发一个个人项目 该项目已 完成 但现在我想添加一个社交应用程序 我认为 Pinax 已经为这项任务做好了准备 我想知道一些事情 我可以在我的项目中像 django 应用程序一样使用 pinax 吗 或者我需要使用 pinax 重新设
  • 如何使用Python在Django for Windows中激活虚拟环境?

    我被告知要在 Django for Windows 中激活虚拟环境 我应该尝试 environment path Scripts activate 但是当我输入该命令时 cmd 返回此错误 该系统找不到指定的路径 我通过输入以下命令创建了虚
  • 在 Python/Django 中将用户的 facebook/twitter 好友与网站用户进行比较

    我想知道是否有人可以帮助指导解决这个相当常见的问题的方法 我正在构建一个简单的网站 用户可以连接他们的 Twitter 帐户进行注册 我想创建一个界面 向他们显示哪些推特好友已经在使用该网站 因此 我可以获得用户的 Twitter 朋友列表
  • 在 django ORM 中查询时如何将 char 转换为整数?

    最近开始使用 Django ORM 我想执行这个查询 select student id from students where student id like 97318 order by CAST student id as UNSIG
  • 带有用户信息的 Django Logger

    我只是好奇 是否可以放User内的信息formatters信息输入LOGGING配置在setting py 现在我只是将该信息放入要记录的消息中 但也许有一种方法可以将其设置为formatters争论 这是我的LOGGING现在的配置 LO
  • Django 模型:默认日期时间未转换为 SQL CURRENT_TIMESTAMP

    我正在使用 Django 模型创建 PostgreSQL DB 我有一个 DateTimeField 我想将当前时间戳设置为默认值 我知道有多个消息来源建议如何做到这一点 但是 当我在 Django 之外检查数据库时 默认时间戳不会显示 我
  • JQuery:将 FormData 和 csrf 令牌一起发布

    Is the data 下面的行正确吗 我想将表单数据和 csrf 令牌发布到 Django 视图函数 file upload on change function var currentpath window location pathn
  • Django:重写表单中的 clean() 方法 - 关于引发错误的问题

    我一直在 clean 方法中做这样的事情 if self cleaned data type organized by self cleaned data organized by raise forms ValidationError T
  • 在 django 中自定义项目和应用程序模板

    我想自定义运行时创建的文件和文件夹 python manage py startapp appname 我发现一遍又一遍地做一些事情 我认为如果在创建新应用程序时存在我的自定义功能 那就太好了 您知道创建应用程序时可以在哪里自定义默认文件吗

随机推荐