Я мог бы решить мою проблему, я оставляю это здесь на случай, если кто-то еще будет полезен, первая ошибка, которую я сделал, была объявить входной параметр как целое xsd:int
, поэтому я объявил его как SOAP-ENC:Array
всервер в PHP:
$server->register(
'Suma',
array('numbers' => 'SOAP-ENC:Array'),
array('return' => 'xsd:int'),
$ns
);
Теперь в клиенте Python я использовал метод factory.create()
клиента suds для объявления переменной типа SOAP-ENC:Array
from suds.client import Client
def wsarchivo():
client = Client("http://localhost/PracticaSumaArray/server.php?wsdl")
request = client.factory.create('SOAP-ENC:Array')
request.numbers = [1,2,3]
res = client.service.Suma(request)
print(res)
wsarchivo()
Когдавыполняя:
Output:
6