C# 正在查找通过SSI从安全web服务消费数据的示例

C# 正在查找通过SSI从安全web服务消费数据的示例,c#,web-services,ssis,C#,Web Services,Ssis,我正试图通过SSIS 2012企业版使用我们的一家SaaS提供商()提供的数据 我很清楚,除了最简单的Web服务之外,Web服务任务对任何东西都是无用的,我已经放弃了在这个项目中使用它的尝试 为了访问我需要的数据,我实际上必须调用两个独立的web服务,一个用于登录并获取身份验证令牌,另一个用于实际请求我正在查找的数据 我使用供应商的示例代码编写了一个脚本组件源代码。只要我尝试通过以下代码实例化新的loginClient: LoginService.LoginServiceClient login

我正试图通过SSIS 2012企业版使用我们的一家SaaS提供商()提供的数据

我很清楚,除了最简单的Web服务之外,Web服务任务对任何东西都是无用的,我已经放弃了在这个项目中使用它的尝试

为了访问我需要的数据,我实际上必须调用两个独立的web服务,一个用于登录并获取身份验证令牌,另一个用于实际请求我正在查找的数据

我使用供应商的示例代码编写了一个脚本组件源代码。只要我尝试通过以下代码实例化新的loginClient:

LoginService.LoginServiceClient loginClient = new LoginService.LoginServiceClient("WSHttpBinding_ILoginService");
我得到以下错误:

找不到名为的终结点元素 “WSHttpBinding_ILoginService”和合同 ServiceModel客户端配置中的“LoginService.ILoginService” 节。这可能是因为找不到的配置文件 您的应用程序,或者因为没有与此名称匹配的端点元素 可以在客户端元素中找到


我已经能够让供应商的代码像VisualStudio中的控制台应用程序一样工作,但一旦我尝试将其作为脚本组件工作,它就会崩溃。谢谢大家!

如何在SSIS中使用Web服务

请完成以下步骤: Web服务可以简单地定义为托管在Web上的一项功能。它是一种独立于平台的技术,可以使用xml消息加以利用

让我们一个接一个地完成以下步骤:

步骤1: 在VisualStudio中使用“WCF服务应用程序”模板创建WCF服务,并将方法GetCustomerName添加到WCF服务

步骤2: 您可以按F5测试服务

步骤3: 因此,我们的WCF服务已启动并运行。现在,让我们创建SSIS包来使用该服务。打开SSDT或BIDS并创建新的SSIS项目

步骤4: 将Web服务任务拖放到设计窗格中。 步骤5: 双击Web服务任务以打开“Web服务任务编辑器”。在“常规”选项卡中,通过创建新连接设置HTTPConnection选项。 步骤6: 在服务器URL文本框中,指定我们先前创建的WCF服务地址,然后按“测试连接”按钮。 步骤7: 在记事本中创建一个空wsdl文件,并在WSDLFile属性中指定该文件的路径。确保OverwriteWSDLFile选项设置为true,然后按“下载WSDL”按钮

步骤8: 出于本练习的目的,我将web服务输出保存在文本文件中,但是我们可以通过多种方式使用从WCF服务接收到的响应,例如: A.保存在数据库中。 B创建/传递JSON对象。 C将其发送到另一个应用程序。 现在,只需转到输出选项卡,在文件属性中选择“新建连接”

步骤9: 在使用类型中选择“创建文件”选项

步骤10: 在文件文本框中,指定用于存储Web服务结果的文件路径,然后按OK。这是在运行包和调用web服务时将XML数据写入的文件

步骤11: 运行SSIS项目

第12步:
打开在步骤10中指定的路径中创建的文件,您可以看到从web服务创建的XML输出。

因此,当它通过控制台应用程序运行时,您可以看到它工作正常。脚本(组件{df}或任务{cf})中的相同代码在上述情况下失败?可能是因为你的控制台应用程序引用了一个wsdl文件,而包不会引用它(因为它都是数据库)?谢谢比尔,很好类似的问题,没有一个标记为已解决,但我在该网站上找不到任何文档。这是SOAP还是RESTAPI?您将发现通过SSIS使用SOAP API非常困难,但在脚本组件中REST非常容易。如果所有这些都失败了,您当然可以退出并作为一个单独的进程运行控制台应用程序。很恶心,但它会起作用的。谢谢Ciaran和Bill!昨天,我们终于能够与一位开发人员交谈,他提到他们有一个通过Informatica轻松访问的restful服务。soap服务通过SSI存在大量问题。我认为我发现的主要问题是SSI似乎没有使用VSTA中的app.config文件,所有端点都是从WSDL文件中定义的。你甚至对这一条发表了评论(billinkc:-)