在没有 WSDL 的 Robotframework 中发送 SOAP 请求

Send SOAP Request in Robotframework without WSDL

我正在尝试使用 SudsLibrary 在 Robotframework 中发送 SOAP 请求。

如果我有 WSDL 文件(本地或远程),它工作正常,但在这种特定情况下,我没有任何类型的 WSDL。仅 URL 用于应用程序端点。

注意:我尝试使用没有 WSDL 的 SoapUI 发送它(仅使用 URL)并且它工作正常,而且在其他语言中我也可以做到(例如 Ruby+Savon for例如)。

现在,有什么想法可以只用 URL 和肥皂水实现吗?甚至与另一个图书馆?

非常感谢。

示例代码(当使用 "non WSDL" URL 而不是真正的 WSLD 时抛出错误 500):

#Example URL: "http://IP:PORT/exampleAction"

${wsdl}=  set variable    ${CURDIR}/WSDLs/CreateService.WSDL
${wsdl_operation}=    set variable    X.Asset.UpdateNotification

${msg}=   Keyword That Returns Some Kind of XML

Create Soap Client   ${wsdl}
${raw_msg}=     Create Raw Soap Message    ${msg}

${result}=      Call Soap Method    ${wsdl_operation}    ${raw_msg}

难道您没有通过添加 ?WSDL 从您拥有的 URL 中获取 WSDL 吗? 例如:“http://IP:PORT/exampleAction?WSDL

您可以使用 RequestsLibrary 向服务发送 XML 文件。