データベースとの統合に成功した統合サービス (SOAP Web サービス) を開発したため、ミドルウェアに IBM Integration Bus を使用しています。
SET OutputRoot.XMLNSC.ns:SD_GetAccountAvailableLimitResponse.SD_GetAccountAvailableLimitResponse =
PASSTHRU('SELECT * FROM SampleDB.DBO.FUNC_GET_Data(''haxan'',''11335544'')');
これにより、複数のレコードが含まれる正しい完全なデータが返されました。今、問題/問題がある2番目の部分。この SOAP Web サービスを C#.NET アプリケーションで呼び出し、これを 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 ! の問題です。この Serive を SOAPUI でテストすると、関数内のデータベース クエリに従って複数のレコードが返されますが、上記のように C# でこれを呼び出すと、次のようになります。応答には最初のレコード (最初の行) のみが含まれます。なぜこれが起こっているのか、私はひどく混乱しています。これで私を助けてください。ありがとう