Pergunta

Eu tenho uma câmera e estou tentando me conectar a ela vesca. Eu tentei enviar XML bruto e descobri que a única coisa que interrompe o XML Suds de trabalho é um espaço de nome de envelope de sabão incorreto.

O espaço para nome do envelope é:

xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"

E eu quero reescrevê -lo para:

xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope"

Para adicionar um espaço para nome no Python, eu tento este código:

message = Element('Element_name').addPrefix(p='SOAP-ENC', u='www.w3.org/ENC')

Mas quando eu adiciono o SOAP-ENV Para o espaço para nome, ele não escreve, pois é codificado nas ligações de espuma. Existe uma maneira de substituir isso na SUDS?

Obrigado por qualquer ajuda.

Foi útil?

Solução 2

Consegui fazer isso funcionar, o envelope de sabão é codificado em bindings.py que é armazenado em suds.egg instalado em seus pacotes de site. Eu mudei o endereço do envelope de sabão para http://www.w3.org/2003/05/soap-envelope. Isso foi compatível com minha câmera. Não consegui encontrar um comando para substituir esse envelope na espuma, então eu o codifiquei com as ligações.py.

Obrigado por qualquer ajuda

Outras dicas

Eu peguei por isso, substituindo manualmente o suds.binding.envns variável no bindings módulo:

from suds.bindings import binding
binding.envns=('SOAP-ENV', 'http://www.w3.org/2003/05/soap-envelope')

A partir daqui, tudo vai bem (com minha serviço, é isso)

Atualizando manualmente binding.py Definitivamente não é o caminho certo a seguir. Você deve ser capaz de utilizar o ImportDoctor para substituir suas ligações padrão. Dê uma olhada na documentação para Corrigindo esquemas quebrados no site da SUDS.

Além disso, quais versões de Python e SUDs você está usando?

Que tipo de token tem seu pedido de tomcat gerado?É Saml ou SiteMinder Token?O SharePoint possui um serviço de loja seguro que realmente entende o token baseado em reivindicações com base na Fundação Identidade do Windows.

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