Я пытаюсь протестировать сервисы soap 1.2 с помощью RobotFramework.До сих пор мы тестировали только сервисы soap 1.1 с использованием библиотеки suds для RobotFramework, и suds не совместим с soap 1.2.
Обратная совместимость - это вариант для новых сервисов, но было бы лучше иметь болеедолгосрочное решение.Я не опытный программист, хотя я могу редактировать код, если мне говорят, что и где редактировать.
Что происходит в нашем тесте для мыла 1.2 с использованием suds: suds не может интерпретировать полученный ответиз веб-сервиса и выдает эту ошибку: SAXParseException:: 159: 229: несоответствующий тег
С сообщением мыла все в порядке, нет проблем с его использованием в SoapUI.
Я нашел несколько фрагментов в Интернетеэто говорит о том, что я могу получить библиотеку suds для работы с мылом 1.2 для моих тестов RobotFramework.Но у меня мало опыта программирования, и я не знаю, как включить эти фрагменты в suds.Кто-то прокомментировал этот фрагмент, что это решило его проблему с RobotFramework и suds.
Есть ли кто-нибудь, кто хочет объяснить, как я могу сделать эту работу?Я не могу понять это самостоятельно.Любые предложения будут с благодарностью.
from suds.client import Client
from suds.bindings import binding
import logging
USERNAME = 'username'
PASSWORD = 'password'
# Just for debugging purposes.
logging.basicConfig(level=logging.INFO)
logging.getLogger('suds.client').setLevel(logging.DEBUG)
# Telnic's SOAP server expects a SOAP 1.2 envelope, not a SOAP 1.1 envelope
# and will complain if this hack isn't done.
binding.envns = ('SOAP-ENV', 'http://www.w3.org/2003/05/soap-envelope')
client = Client('client.wsdl',
username=USERNAME,
password=PASSWORD,
headers={'Content-Type': 'application/soap+xml'})
# This will now work just fine.
client.service.someRandomMethod()
фрагмент от: https://gist.github.com/kgaughan/858851