我遇到一个问题,我有一个XML Web服务,其输入参数位于标头中,而不是XML的主体。这导致Web服务任务的参数部分为空。
SSIS Web服务任务似乎不处理标题中的输入参数。
当我使用soapUI时,它显示标题中的输入(参见附图)
我猜我将不得不写一个脚本任务来做这个,但如果有人之前遇到过这个问题并且可以指出我正确的方向,那就太棒了。
是否可以对WSDL进行屠宰? (我宁愿不会) 非常感谢,如果需要更多信息,请不要犹豫。
答案 0 :(得分:2)
回答我自己的问题......
结果令人沮丧。对我的问题的简短回答是肯定的,你必须使用代码更新标题参数。
我不得不写一些c#来使用webservice并吐出数据。我还在https://technet.microsoft.com/en-us/library/ms155134.aspx之后使用wsdl.exe创建了一个代理类。
最初,我将此作为脚本组件源编写,但不断收到以下错误:
数据流任务时出错[XML Source [1]]:XML Source上的自定义属性“XMLData”的值不正确。 数据流任务[SSIS.Pipeline]出错:“XML Source”验证失败并返回验证状态“VS_ISBROKEN”。 数据流任务[SSIS.Pipeline]出错:“XML Source.Outputs [XML Source Output]”不包含输出列。异步输出必须包含输出列。 数据流任务[SSIS.Pipeline]出错:一个或多个组件验证失败。 数据流任务出错:任务验证期间出错。 (Microsoft.DataTransformationServices.VsIntegration)
我在visual studio中调试了这个,输出到控制台屏幕。一切正常。
在此之后,我将其重新创建为脚本任务并输出到变量。一切正常。
我要感谢以下链接和博客的帮助:
http://blog.reckonedforce.com/tag/consuming-web-services-in-ssis-script-task/
希望这有助于某人。