Pergunta

Eu estou chamando um WSDL serviço web de Python usando SOAPpy . A chamada que eu preciso fazer é o método Auth_login . Isso tem 2 argumentos - o primeiro, uma string é a chave API; o segundo, um tipo personalizado que contém nome de usuário e senha . O tipo personalizado é chamado Auth_credentialsData que contém 2 valores como picadas - um para o nome de usuário e uma para a senha. Como posso criar este tipo personalizado usando SOAPpy? Eu tentei passar uma lista e um dicionário, nenhum dos quais trabalho.

código até agora:

from SOAPpy import WSDL

wsdlUrl = 'https://ws.pingdom.com/soap/PingdomAPI.wsdl'
client = WSDL.Proxy(wsdlUrl)

Tentei ambos:

credentials = ['email@example.com', 'password']
client.Auth_login('key', credentials)

e

credentials = {'username': 'email@example.com', 'password': 'passsword'}
client.Auth_login('key', credentials)

sendo que ambos dão uma autenticação de erro falhou.

Foi útil?

Solução

O melhor método é usar o módulo de sabão ZSI que lhe permite tomar um arquivo WDSL e transformá-lo em classes e métodos que você pode usar para chamá-lo. A documentação on-line é em seu site mas a documentação mais recente é mais facilmente encontrada na fonte pacote. Se você instalar no Debian / Ubuntu (nome do pacote python-ZSI) a documentação está em / usr / share / doc / python-ZSI em um par de PDFs pode encontrar lá dentro.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top