Какой тип данных может передавать поток из C # в Navision через интерфейс COM? - PullRequest
0 голосов
/ 16 марта 2011

Задача
Мне нужно вызвать веб-сервис из Navision и обработать результат.

К сожалению, наша версия Navision не поддерживает использование веб-сервисов.

Итак, я разрабатываю сборку .Net C #, которая может вызывать веб-сервис и представлять ответ в полезной форме.

Ответ - очень длинная строка. Я хотел бы вернуть эти данные в виде потока символов.

Версия 1:

public Stream GetExportData(int type) {...}

Это не работает. Так как Navision не знает тип Stream.

Версия 2:

public System.Runtime.InteropServices.ComTypes.IStream GetExportData(int type)

Насколько я могу Google, это правильный тип.
К сожалению, я не могу найти какой-либо способ инициализации любого типа, который реализует этот интерфейс.

Следующей попыткой было использование параметра ref, чтобы получить экземпляр IStream, а затем манипулировать этим.

Версия 3:

public int GetExportData(int type, ref System.Runtime.InteropServices.ComTypes.IStream output) {...}

Navision не распознает тип IStream, с которым он не работал.

...