我正在寻找一种通过Python以编程方式调用SOAP/RPC调用的简单方法.就像是:
method_to_invoke, args = parse_user_input()
outbound_xml = library.call_remote_method(method_to_invoke, args)
result = requests.post(... data=outbound_xml)
Run Code Online (Sandbox Code Playgroud)
我知道有几个 Python库支持SOAP/RPC调用; 然而,他们都做了一些"魔术",并允许这样的事情:
result = client.service.getPercentBodyFat('jeff', 68, 170)
Run Code Online (Sandbox Code Playgroud)
(前面的例子来自suds文档,但基本原理是相同的).这假设我提前知道方法的名称,并且无法在运行时确定它.
寻找解决方案,他们要么不再维护,要么尝试做太多"魔术".例如,看到这个过于复杂的问题或这个基本上是"构建你自己的XML并发送它"的解决方案.
是否有任何库可以为我构建"出站"XML而无需经历箍?我已经有一个HTTP服务器,它将接收入站RPC,并希望requests用于正确处理SSL证书验证等事情.
我使用python请求模块进行REST请求.
我正在尝试制作一个肥皂请求,但我想知道无法为此得到一个例子.这是我的肥皂身体和标题.
<auth>
<apikey>xcvzxcvcxzv-a0-0035c6fbc04f</apikey>
</auth>
Run Code Online (Sandbox Code Playgroud)
身体
<reports>
<report>
<name>Test</name>
</report>
</reports>
Run Code Online (Sandbox Code Playgroud)
这是wsdl url
https://ltn.net/webservices/booking/r1/index.wsdl
Run Code Online (Sandbox Code Playgroud)
请告诉我如何使用python在这里发布帖子请求.如果不可能使用requests模块那么可能是其他替代方案?