我试图让 Suds 与 IBM 的 Datapower 的 SOMA 操作一起工作。然而,Suds 只检测到一种方法,而且是一种无参数的方法:operation()
.
Service ( xml-mgmt ) tns="http://www.datapower.com/schemas/management/wsdl"
Prefixes (1)
ns0 = "http://www.datapower.com/schemas/management"
Ports (1):
(xml-mgmt)
Methods (1):
operation()
Types (1565):
ns0:ActionAddKnownHost
ns0:ActionAddPasswordMap
ns0:ActionAddSelTestEntry
ns0:ActionAddTrustedHost
ns0:ActionApplyPatch
ns0:ActionB2BArchiveNow
ns0:ActionB2BHASwitchPrimary
ns0:ActionBackupConfig
ns0:ActionBootDelete
ns0:ActionBootSwitch
... (hundreds and hundreds of more types)
给这个单一的无参数操作,只生成一个 XML 骨架并将其发布到端点。
<SOAP-ENV:Header/>
<ns1:Body>
<ns0:request/>
</ns1:Body>
</SOAP-ENV:Envelope>
如上所述,鉴于 Suds 对 WSDL 和 XSD 的解释,有没有办法根据众多类型提供的信息在此请求中“嵌入”附加信息?到目前为止,我的替代方法是自己生成 XML 并将其注入端点,但这超出了使用像 Suds 这样的高级库的目的。
提前谢谢了