Я создаю объект COM Visible C # для прокси-вызовов к веб-сервису для приложения VB6. У меня есть метод, который возвращает массив объектов.
public DocActionReport[] DocActionReportByDateRange(System.DateTime reportStartDate, System.DateTime reportEndDate)
{
object[] results = this.Invoke("DocActionReportByDateRange", new object[] {
reportStartDate,
reportEndDate});
return ((DocActionReport[])(results[0]));
}
Когда я вызываю этот метод через VB6, вот так:
Dim proxy As New QueueMovementServiceClient.ReadQueueInfo
Dim report() As QueueMovementServiceClient.DocActionReport
report = proxy.DocActionReportByDateRange(startDate, reportEndDate)
Он успешно выполняется (я вижу это через вход в систему через веб-сервис), но данные не возвращаются объекту в VB6 (LBound (отчет) == 0, UBound (отчет) == -1).
Я испробовал несколько разных подходов (изменив метод на метод void и передав коллекцию в качестве параметра ref
), но пока без радости.
Что мне нужно сделать, чтобы вернуть массив объектов (список, коллекция, что угодно) потребителю VB6?