在没有 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 文件。
我正在尝试使用 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 文件。