Полагаю, по вашему вопросу вы имеете в виду использование веб-службы в качестве места назначения для потока данных? Я унаследовал серию пакетов, которые интегрируются с нашим сайтом MS CRM. Как и задумано, эти пакеты ужасно подходят для парадигмы SSIS, но это мое бремя ...
Эти пакеты обычно соответствуют форме источника (OLE DB или плоский файл), переданного в задачу сценария (назначение). Я не знаю, что предоставление всего кода конкретной задачи было бы поучительно. Он просто вызывает веб-сервис для каждой строки, отправленной в него. RBAR - это не то, для чего созданы SSIS или заданные языки, но вы, безусловно, можете это сделать.
- Преобразование сценария будет иметь веб-ссылку (наша называется CrmSdk) на службу.
- Объявите экземпляр службы как член
ScriptMain
.
- Создайте эту службу в своем скрипте, передавая учетные данные по мере необходимости. Скорее всего в вашем
PreExecute
методе
- Выполните вызовы веб-службы в вашем методе
Input0_ProcessInputRow
, используя нотацию Row.Column1. Помните о пустых значениях и о том, как их обрабатывает веб-служба. Наш код использует service.CompanyName = Row.CompanyName_IsNull ? string.Empty : Row.CompanyName;
Если вы намерены использовать веб-сервис на уровне потока управления, имейте в виду, что задание по умолчанию имеет жестко заданный 5-минутный тайм-аут. Не уверен, что это все еще так, но в пакете 2005 года, с которым я имел дело, нам пришлось использовать прямую задачу сценариев для связи с нашим веб-сервисом (он очищал миллионы строк адресных данных в пакетном режиме), чтобы обойти проблему тайм-аута , Ссылка на свойство тайм-аута