我正在尝试使肥皂模拟服务更具动态性,但遇到了一些问题。我不知道如何使用来自数据库行的信息填充多个响应项。我将尽可能解释项目设置以及我正在尝试做的事情。
项目的工作方式如下: 1. 应用程序设置为将 xml 请求发送到soap mockservice。2. mockservice 使用 groovy 脚本来建立数据库连接。它使用请求中传递的信息从数据库中获取相关行。
(以下是试图弄清楚的部分) 3. 数据库查询响应中的每一行将是响应中的一个单独项目。
我想要的一个例子。
要求:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<qdiGetPartyFull xmlns="urn:QDIServices">
<anItem>3328666</anItem>
<anItem>3328666</anItem>
</qdiGetPartyFull>
</soapenv:Body>
回复:
<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ItemFullResponse xmlns="urn:Services">
<ItemFullReturn>
<ItemReponse>
<country>qwe</country>
<county>abc</county>
<postcode>123</postcode>
<itemError>
<errorCode>0</errorCode>
<errorMessage xsi:nil="true"/>
</itemError>
<status>xyz</status>
</ItemReponse>
<ItemReponse>
<country>qwe</country>
<county>abc</county>
<postcode>123</postcode>
<itemError>
<errorCode>0</errorCode>
<errorMessage xsi:nil="true"/>
</itemError>
<status>xyz</status>
</ItemReponse>
<iError xsi:nil="true"/>
</ItemFullReturn>
</ItemFullResponse>
</soapenv:Body>
很抱歉格式不好。
我现在在哪里:我有数据库连接使用 groovy 返回行我只需要弄清楚如何将每一行放入一个新的 itemResponse 中。
我还应该提到请求中的项目数=响应的项目数/行数