我们正在为公开SOAP web服务并为这些服务发布WSDL定义的远程服务编写客户端。
在测试期间,我们无法访问系统,因此我们希望编写模拟服务。我们在客户端使用Python,因此理想情况下我们希望在模拟服务器上使用Python,尽管我认为这并不是绝对必要的。
我们的梦想是能够从WSDL文件中生成存根,然后将这些存根作为WSGI服务器提供给使用Paste Deploy的用户,尽管只要它工作可靠,就不必是Paste Deploy或WSGI。最主要的是,我们需要从“真实的”WSDL文件生成存根,这样我们就不会意外地编写不兼容的模拟服务器。
我们使用sud作为客户端库,并查看了soaplib和ZSI。然而,soaplib中的wsgi2py内容在顶部显示“不要使用”,ZSI看起来很难接受。人们通常用什么来做这种事?
马丁
您可以使用此代码创建suds模拟客户机。
接下来定义一个具体的ClientMock。
现在,您可以使用mock library来欺骗使用suds.client.client的代码。
我建议您使用soapUI来创建模拟服务。安装起来很容易。创建WS-mock服务同样简单。 它从您所需的位置获取WSDL文件,为请求创建结构,如果您愿意,它还使用从WSDL文件中提取的预期结构创建模拟web服务。 创建新的soapUI项目时,选中第三个复选框选项以创建模拟web服务。
如果需要xsd模式文件,请确保它们从WSDL文件中被很好地引用。
它不使用python,但是如果您所需要的只是一个可以发送请求和获取响应的测试环境,那就足够了。
我希望这会有帮助。
作为一个模拟服务器,我真的推荐soapUI(http://www.soapui.org)。
它接受WSDL并自动生成服务和服务方法。然后可以继续使用Groovy脚本定义静态返回或动态返回。查看here以获取web服务模拟的文档。
soapUI提供免费付费的专业版。我成功地使用了免费版本。
相关问题 更多 >
编程相关推荐