Web services 为Web服务任务创建复杂类型变量

Web services 为Web服务任务创建复杂类型变量,web-services,ssis,Web Services,Ssis,在SSIS中,我已经有了一个使用WSDL发送SMS的Web服务任务。我确实能够发送短信使用这个任务 我希望从数据库中为此任务提供值,例如手机号码、消息正文、用户ID等 如何创建可以作为输入传递给Web服务任务的复杂类型用户变量?看起来唯一的答案是将Web服务更改为仅接受简单类型作为参数。我浏览过web,似乎没有办法动态创建复杂类型,以供web服务任务中的输入值使用。更“简单”的方法是使用脚本组件将变量绕过web服务。支票&。 测试和工作。使用此任务,您可以绕过SSIS变量/参数。 示例:通过执行

在SSIS中,我已经有了一个使用WSDL发送SMS的Web服务任务。我确实能够发送短信使用这个任务

我希望从数据库中为此任务提供值,例如手机号码、消息正文、用户ID等


如何创建可以作为输入传递给Web服务任务的复杂类型用户变量?

看起来唯一的答案是将Web服务更改为仅接受简单类型作为参数。我浏览过web,似乎没有办法动态创建复杂类型,以供web服务任务中的输入值使用。

更“简单”的方法是使用脚本组件将变量绕过web服务。支票&。 测试和工作。使用此任务,您可以绕过SSIS变量/参数。
示例:通过执行SQL任务从表中获取ID、addrees、zipcode、city、country。更改结果集:常规选项卡上的完整结果集。然后在resultset选项卡上添加结果名称:0和变量名称:User::YourObject。然后下一个任务将是Forlooptask编辑器(Foreach ADO枚举器,集合选项卡-ADO对象源变量:User::YourObject,枚举模式:第一个表中的行,变量映射选项卡-变量User::Id,0 | address,1等)。在Forlooptask编辑器中添加一个数据流任务,该任务的源是一个脚本组件。如果您能更具体地说明您的逻辑,我们可能会为您提供更多帮助。

是的。找到一个为您实现这一点的web服务,获取它的WSDL并尝试一下。当您有问题发回。使用wsdl时,它对我有效,但是,我想将属性值作为SSIS变量!发布您迄今为止尝试过的内容。您应该能够在运行时使用表达式来更改各种内容,但某些组件并不很好地支持这一点。您可能需要使用脚本任务。我也想知道答案。使用Web服务任务,我看到了传入变量的方法,但没有看到如何创建变量。看起来它需要一个“复杂类型”,但我不知道如何通过任何其他任务,甚至是脚本任务来构建复杂类型。我已尝试设置web服务任务并从SSIS UI向其传递文本值,但我不知道如何构建要传入的变量。@PatrickSzalapski如果它不是基类型,则复杂类型必须是Object类型。web服务任务是。。。缺乏。如果不清楚如何让它做一件事,可以跳过它并编写一个脚本任务。你可以更好地控制它的功能。这就解释了一个什么样的问题。你的挑战归结为我如何写一个东西,从那里获取信息,是吗?您是否需要它作为WCF,或者旧的web服务消费方式(即我记得一半的方式)就足够了?