How to consume AIF service(即WCF service) in SSIS project

最近在使用AIF做connectors时遇到一个问题,就是无法在SSIS里调到script component里C#code引用的AIF service。

SSIS script component project: dtsx

|

Edit Script

|

Go into C# project, Add AIF service to a service reference. A config file is generated in  the component project.

错误:

image

原因

在SSIS启动时无法调到C#的AIF service的app.config文件,导致没有访问到AIF service。

 

解决方案

在SSIS package里通过WCF client的方式来调用WCF service。

1. Specify a SSIS variable for the web service URL. 我们将会把这个变量作为参数

image

 

2. Create WCF client in code in script component.

private CompanyListService serviceClient;
     private ChannelFactory<CompanyListService> companyViewChannelFactory;

在SSIS PreExecute() 实例化这个channelFactory,调用CreateChannel()去访问WCF service。

image

在CreateServiceBinding() method里,构造netTcpBinding。

image

 

3. Close service client after execute the AIF operations. 

image

近期在做与SSIS相关的project,期待有更深入的学习!

posted @ 2014-05-22 15:35  Liu小芹  阅读(194)  评论(0编辑  收藏  举报