0

我正在尝试使用 ServiceV 虚拟化 API。我想要做的是,请求从 JDBC(在我的情况下为 oracle db)中提取数据,向虚拟服务发送请求,当请求到达虚拟服务时,服务会查找唯一标识符(主键)并基于该主键,它从数据库中获取正确的行。

到目前为止我所做的是:设法设置了一个 oracleDB 并将其连接到我们的 ReadyAPI 项目中,并且我设法从数据库中获取数据到我们的请求中(填写各种标题,如 ID、状态、派对 ID 等)我们可以返回一个响应,该响应也从不同的表中挑选数据。

我们的下一步是在响应级别自定义 SQL 查询,以根据请求表中的主键选择特定的响应。

我发现的问题是我不太确定 SQL 查询自定义会发生在哪里。目前,我在 SOAP UI 的请求级别上运行了一个 SQL 查询,然后在 virt 端的 DataSources 部分发生了一个单独的请求,以用数据填充响应表单。这个 virt end SQL 查询是我希望能够动态更改的查询。

您对我如何实现这一目标有任何想法吗?

4

1 回答 1

0

根据我的理解(如果我错了,请纠正我)您所要求的是一种自定义 ServiceV 的虚拟响应以匹配 SoapUI 数据源中返回的数据的方法。

在这种假设下,我建议将所有 DB 调用保留在代码的 SoapUI 部分中,并将您希望模拟服务返回的数据库的每一行写入GlobalPropertiesProjectProperties.

然后,在 ServiceV 中,配置响应,用类似于..."id" : "${#Project#Identifier}".... 这将获取在 SoapUI 中输入的当前 DB 详细信息,并将它们用作 virt 服务中的响应值,以保持断言的一致性。

或者您可以使用Dispatch Style Script并将您的查询输入到Groovy

干杯 - D

于 2018-10-24T03:50:45.190 回答