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

时间:2018-01-17 22:05:34

标签: python soap wsdl robotframework suds

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

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

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

现在,任何想法如何才能通过URL和Suds实现这一目标?甚至还有另一个图书馆?

非常感谢。

示例代码(使用"非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}

1 个答案:

答案 0 :(得分:2)

您是否通过添加?WSDL从您拥有的URL获取WSDL? 例如:" http://IP:PORT/exampleAction?WSDL"

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

相关问题