我正在尝试使用ServiceV虚拟化API。我想要做的是,请求从JDBC(在我的情况下是oracle db)中提取数据,向虚拟服务发送请求,当请求到达虚拟服务时,服务会查找唯一标识符(主键)并且基于该主键,它从数据库中获取正确的行。
到目前为止,我所做的是: 管理设置oracleDB并将其连接到我们的ReadyAPI项目中,我设法从数据库中获取数据到我们的请求(填写ID,状态,聚会ID等各种标题),我们也可以返回响应从不同的表中挑选数据。
我们的下一步是在响应级别自定义SQL查询,以根据请求表中的主键选择特定响应。
我发现的问题是我不太确定SQL查询定制会在哪里发生。目前,我在SOAP UI中的请求级别运行SQL查询,然后在virt端的DataSources部分发生单独的请求,以使用数据填充响应表单。这个virt end SQL查询是我希望能够动态更改的。
您是否知道如何实现这一目标?
答案 0 :(得分:0)
根据我的理解(如果我错了,请纠正我),您想要的是自定义ServiceV的虚拟响应以匹配SoapUI数据源中返回的数据的方法。
在此假设下,我建议将所有数据库调用都保留在代码的SoapUI部分中,并将希望模拟服务返回的数据库的每一行写入GlobalProperties
或ProjectProperties
然后,在ServiceV中,配置响应,用类似于..."id" : "${#Project#Identifier}"...
的值代替硬编码值。这将获取SoapUI中输入的当前数据库详细信息,并将其用作virt服务中的响应值,以维护断言的一致性。
或者您可以利用Dispatch Style
Script
并将查询输入到Groovy
干杯-D