Я новичок в Python и suds. Использование SOAP UI, вызов моей службы выглядит следующим образом:Python SUDS не включает параметр во время вызова
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns="<URL to service>"
xmlns:ns1="<URL to second namespace>">
<soapenv:Header/>
<soapenv:Body>
<ns:AuthenticateCaller>
<!--Optional:-->
<ns:request>
<ns1:LoanAccountNumber>292206816</ns1:LoanAccountNumber>
</ns:request>
</ns:AuthenticateCaller>
</soapenv:Body>
</soapenv:Envelope>
Я попытался следующие с помощью мыльной пены:
from suds.xsd.doctor import ImportDoctor, Import
imp = Import(<URL to service>)
imp.filter.add(<URL to second namespace>)
doctor = ImportDoctor(imp)
client = Client(url, doctor=doctor)
client.service.AuthenticateCaller(LoanAccountNumber='292206816')
Сгенерированный XML выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:ns0="<URL to service>"
xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/
envelope/">
<SOAP-ENV:Header/>
<ns1:Body>
<ns0:AuthenticateCaller/>
</ns1:Body>
</SOAP-ENV:Envelope>
Это отсутствует параметр LoanAccountNumber в вызове, который является ключом к API. Также не хватает второго пространства имен, которое, как я думал, должен был исправить ImportDoctor.
Мой вопрос: что мне не хватает, что LoanAccountNumber не включен в вызов API.