我将 IBM Integration Bus 用于我的中间件,因为我在其上开发了一个集成服务(SOAP Web 服务),它成功地与数据库集成并在消息流中使用 ESQL 计算节点我调用了返回数据的数据库函数;
SET OutputRoot.XMLNSC.ns:SD_GetAccountAvailableLimitResponse.SD_GetAccountAvailableLimitResponse =
PASSTHRU('SELECT * FROM SampleDB.DBO.FUNC_GET_Data(''haxan'',''11335544'')');
这返回的正确且完整的数据包含多条记录。现在是有问题/问题的第二部分。我在 C#.NET 应用程序中调用此 SOAP Web 服务并将其添加为 Web 引用。因为我的 C# 代码是
IS_ServiceHttpService httpRequest = new IS_ServiceHttpService();
SD_GetAccountAvailableLimit obj = new SD_GetAccountAvailableLimit();
obj.sAccountNumber = "11335544";
obj.sChannelID = "20";
obj.sSambaDigital_Username = "haxan";
obj.sUserID = "tcib";
obj.sPassword = "TcibSamba";
obj.sChannelID = "20";
SD_GetAccountAvailableLimitResponse response = httpRequest.SD_GetAccountAvailableLimit(obj);
这是 Response 中的问题!,当我在 SOAPUI 上测试这个 Serive 时,它会根据函数内部的数据库查询返回多个记录,但是当我在 C# 中调用它时,如上所述;响应仅包含第一条记录(第一行)。我很困惑为什么会发生这种情况,请帮助我。谢谢