Я ищу простой способ программно вызвать вызов SOAP / RPC через Python. Что-то типа:
method_to_invoke, args = parse_user_input()
outbound_xml = library.call_remote_method(method_to_invoke, args)
result = requests.post(... data=outbound_xml)
Я знаю, что есть несколько библиотек Python, которые поддерживают вызовы SOAP / RPC; однако все они творит некоторую "магию" и допускают такие вещи, как:
result = client.service.getPercentBodyFat('jeff', 68, 170)
(предыдущий пример взят из документации по пене, но основные принципы те же). Это предполагает, что я заранее знаю имя метода и не могу определить его во время выполнения.
В поисках решений они либо уже не поддерживаются, либо пытаются творить слишком много «волшебства». Например, см. этот слишком сложный сценарий или это решение, которое по сути сводится к« Создайте свой собственный XML и отправьте его ».
Есть ли какая-нибудь библиотека, которая может построить для меня "исходящий" XML, не прибегая к обручам? У меня уже есть HTTP-сервер, который будет получать входящий RPC, и я хочу использовать requests
для правильной обработки таких вещей, как проверка сертификата SSL.