Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用suds的断言错误_Python_Soap_Suds - Fatal编程技术网

Python 使用suds的断言错误

Python 使用suds的断言错误,python,soap,suds,Python,Soap,Suds,我正在尝试使用jurko(Python3.5.2)的suds从官方pip存储库发送一些SOAP 这是我的密码。不幸的是,我应该隐藏我的登录名和密码,所以你不能复制并粘贴到你的终端 my_login = 'login' my_password = 'password' barcode = '10100082848426' message = \ """<?xml version="1.0" encoding="UTF-8"?>

我正在尝试使用jurko(Python3.5.2)的suds从官方pip存储库发送一些SOAP

这是我的密码。不幸的是,我应该隐藏我的登录名和密码,所以你不能复制并粘贴到你的终端

my_login = 'login'
my_password = 'password'
barcode = '10100082848426'
message = \
                """<?xml version="1.0" encoding="UTF-8"?>
                                <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:oper="http://russianpost.org/operationhistory" xmlns:data="http://russianpost.org/operationhistory/data" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
                                <soap:Header/>
                                <soap:Body>
                                   <oper:getOperationHistory>
                                      <data:OperationHistoryRequest>
                                         <data:Barcode>""" + barcode+ """</data:Barcode>
                                         <data:MessageType>0</data:MessageType>
                                         <data:Language>RUS</data:Language>
                                      </data:OperationHistoryRequest>
                                      <data:AuthorizationHeader soapenv:mustUnderstand="1">
                                         <data:login>"""+ my_login +"""</data:login>
                                         <data:password>""" + my_password + """</data:password>
                                      </data:AuthorizationHeader>
                                   </oper:getOperationHistory>
                                </soap:Body>
                             </soap:Envelope>"""
result = client.service.getOperationHistory(__inject={'msg':message})
my_login='login'
我的密码='password'
条形码='10100082848426'
消息=\
"""
“+条形码+”
0
罗斯
“”“+我的登录名+“””
“+my_密码+”
"""
结果=client.service.getOperationHistory(uuu inject={'msg':message})
这里我得到一个错误:

Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/usr/local/lib/python3.5/site-packages/suds/client.py", line 521, in __call__
    return client.invoke(args, kwargs)
  File "/usr/local/lib/python3.5/site-packages/suds/client.py", line 760, in invoke
    assert msg.__class__ is suds.byte_str_class
AssertionError
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/usr/local/lib/python3.5/site packages/suds/client.py”,第521行,在调用中__
返回client.invoke(args、kwargs)
文件“/usr/local/lib/python3.5/site packages/suds/client.py”,第760行,在invoke中
断言消息。类是suds.byte\u str\u类
断言错误
通过回溯,我了解错误是什么,但我无法找出原因。有什么建议吗


注意:此请求是一个俄文Post API请求,所有需要的都已完成。

过了一段时间后,我再次遇到此问题,似乎是编码问题。我将CentOS上的locale设置为“ru_ru.utf-8”,一切都开始工作。

过了一段时间,我又遇到了这个问题,似乎是编码问题。我将CentOS上的locale设置为“ru_ru.utf-8”,一切都开始工作。

这应该可以解决问题:

from suds import byte_str
message = byte_str(message)

这将解决问题:

from suds import byte_str
message = byte_str(message)

我没有足够的声誉留下评论,但我在SUDs的存储库页面上发现了这个案例。我没有足够的声誉留下评论,但我在SUDs的存储库页面上发现了这个案例。它是一个