设置
我正在通过Python 3.7和suds包使用SOAP。
我使用客户的姓氏来检查客户数据库中是否已经存在该客户。
代码
要检查数据库中是否已经存在该名称,我使用调用GetRelaties
,它看起来像是
(GetRelaties){
SessionID = None
SecurityCode2 = None
cFilter =
(cRelatieFilter){
Trefwoord = None
Code = None
ID = None
}
}
在这里我用要求的SessionID
填写SecurityCode2
和Trefwoord
的客户姓氏。
Trefwoord
需要输入字符串,因此要执行设置,请执行
cRFilter = c.factory.create('cRelatieFilter')
cRFilter['Trefwoord'] = 'surname_customer'
这样,
(cRelatieFilter){
Trefwoord = "surname_customer"
Code = None
ID = None
}
请注意,GetRelaties
不需要我填写Code
或ID
。
错误
鉴于上述情况,执行client.service.GetRelaties(SessionID,sec2,cRFilter)
会得到
WebFault: b"Server raised fault: 'Server was unable to read request. ---> There is an error in XML document (1, 529). ---> Input string was not in a correct format.'"
很明显,我没有将客户的姓氏作为字符串插入。
如何插入客户的姓氏作为字符串?
顺便说一句,如果我搜索ID
–它必须是整数,
cRFilter = c.factory.create('cRelatieFilter')
cRFilter['ID'] = '123456789'
这样,
(cRelatieFilter){
Trefwoord = None
Code = None
ID = "123456789"
}
我得到所需的输出-给定123456789
在数据库中有一个条目。
因此,我得出结论,'123456789'
是一个整数,而在“普通” Python中,它将是一个字符串。