我尝试通过SSIS 2012 Enterprise Edition从我们的某个SaaS提供商(Ultimate Software)使用数据。
我很清楚Web服务任务对于除了最简单的Web服务之外的任何东西都是无用的,并且很好地放弃了尝试在此项目中使用它。
要访问我需要的数据,我实际上必须调用两个单独的Web服务,一个用于登录并获取身份验证令牌,另一个用于实际请求我正在查找的数据。
我使用供应商的示例代码整理了一个脚本组件源。一旦我尝试通过以下代码实例化一个新的loginClient:
LoginService.LoginServiceClient loginClient = new LoginService.LoginServiceClient("WSHttpBinding_ILoginService");
我收到以下错误:
找不到名称的端点元素 ' WSHttpBinding_ILoginService'和合同 ' LoginService.ILoginService'在ServiceModel客户端配置中 部分。这可能是因为找不到配置文件 您的应用程序,或者因为没有匹配此名称的端点元素 可以在客户端元素中找到。
我已经能够让供应商的代码与Visual Studio中的控制台应用程序一样工作,但是一旦我尝试使其作为脚本组件工作,它就会崩溃。感谢您!
答案 0 :(得分:0)
如何在SSIS中使用Web服务
请完成以下步骤: Web服务可以简单地定义为通过Web托管的一项功能。它是一种独立于平台的技术,可以使用xml消息进行利用。
让我们逐一完成这些步骤:
步骤1: 使用visual studio中的“WCF服务应用程序”模板创建WCF服务,并将方法GetCustomerName添加到WCF服务。
步骤2: 您可以按F5测试服务。
步骤-3: 因此,我们的WCF服务已启动并正在运行。现在让我们创建一个SSIS包来使用该服务。打开SSDT或BIDS并创建一个新的SSIS项目。
步骤4: 将Web服务任务拖放到“设计”窗格上。 第五步: 双击Web服务任务以打开“Web服务任务编辑器”。在“常规”选项卡中,通过创建新连接来设置HTTPConnection选项。 步骤-6: 在“服务器URL”文本框中,指定我们之前创建的WCF服务地址,然后按“测试连接”按钮。 步骤-7: 在记事本中创建一个空的wsdl文件,并在WSDLFile属性中指定该文件的路径。确保将OverwriteWSDLFile选项设置为true并按“Download WSDL”按钮。
步骤-8: 出于本练习的目的,我已将Web服务输出放在文本文件中,但是我们可以通过各种方式使用从WCF服务收到的响应,例如: 一个。保存在数据库中。 湾创建/传递JSON对象。 C。将其发送到另一个应用程序。 现在,只需转到“输出”选项卡,在“文件”属性中选择“新建连接”。
步骤-9: 在Usage类型中选择“Create file”选项。
步骤-10: 在“文件”文本框中,指定用于存储Web Service结果的文件的路径,然后按“确定”。这是在运行包并调用Web服务时将XML数据写入的文件。
步骤-11: 运行SSIS项目。
步骤-12: 打开在步骤10中指定的路径中创建的文件,您可以看到从Web服务创建的XML输出。