Обработка документов Python SOAP - PullRequest
1 голос
/ 06 августа 2009

Я пытался использовать suds для Python для вызова SOAP WSDL. Мне просто нужно вызвать службу программно и написать выходной XML-документ. Однако suds автоматически анализирует эти данные в своем собственном питоническом формате. Я просматривал примеры и документации , но я не могу найти способ вернуть XML-документ, который мне предоставляет сервис SOAP.

Есть ли простой способ сделать это, я пропускаю? Есть ли более простой способ сделать это в Python, чем suds?

Ответы [ 2 ]

3 голосов
/ 06 августа 2009

На этом раннем этапе разработки suds самый простой способ получить доступ к необработанному XML-содержимому - это не то, чего можно было бы ожидать.

Примеры на сайте показывают нам что-то вроде этого:

client = Client(url)
result = client.service.Invoke(subm)

однако, результатом является предварительно проанализированный объект, который отлично подходит для доступа через Python, но не для доступа к документам XML. К счастью, объект Client все еще содержит сохраненное исходное сообщение SOAP.

result = client.last_received()
print result

Вернет вам реальное сообщение SOAP, полученное обратно.

0 голосов
/ 06 августа 2009

Вы можете взглянуть на такую ​​библиотеку, как soaplib : это действительно хороший способ использовать (и обслуживать) веб-сервисы SOAP в Python. В последней версии есть некоторый код для динамической генерации привязок Python либо динамически (во время выполнения), либо статически (запускайте сценарий для некоторого WSDL).

[правовая оговорка: я поддерживаю проект! - Я не написал большую часть этого все же]

...