C# SSIS Web服务任务XmlNode输入是否可能?

C# SSIS Web服务任务XmlNode输入是否可能?,c#,xml,web-services,ssis,C#,Xml,Web Services,Ssis,在过去的两周里,我浏览了互联网,尝试了很多不同的方法,我开始认为这可能不可能通过SSIS中的web服务任务实现。我使用提供的WSDL在SSIS中创建了一个web服务任务-请参见下面的屏幕截图 如您所见,此web服务方法的要求是传入一个XML节点,该节点包含如下筛选器项: <FilterItems><FilterItem FilterItemId="12345">4/20/2015 12:00:00 AM</FilterItem></FilterItem

在过去的两周里,我浏览了互联网,尝试了很多不同的方法,我开始认为这可能不可能通过SSIS中的web服务任务实现。我使用提供的WSDL在SSIS中创建了一个web服务任务-请参见下面的屏幕截图

如您所见,此web服务方法的要求是传入一个XML节点,该节点包含如下筛选器项:

<FilterItems><FilterItem FilterItemId="12345">4/20/2015 12:00:00 AM</FilterItem></FilterItems>

我还尝试创建一个SQL任务,执行时会获取xml并将其添加到变量中。在运行时,再次为引号添加转义字符,导致方法无法执行。我发现很难相信这不是一个常见的问题,而且将XML传递到web服务任务中也没有一个简单的解决方法。这是SSIS中的一个故障还是只是一些尚未实现的问题?非常感谢您的帮助

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


另请参见:

是的,我相信你是对的。最后,我使用SOAP信封编写了一个脚本任务is SSIS,并成功地调用了web服务。
<soap:Body>
<GetReportResults xmlns="https://service.service.com">
  <username>string</username>
  <password>string</password>
  <reportId>int</reportId>
  <templateValues>xml</templateValues>
</GetReportResults>
<FilterItems><FilterItem FilterItemId="12345">4/20/2015 12:00:00 AM</FilterItem></FilterItems>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"      xmlns:ser="https://service.servicename.com">
   <soapenv:Header/>
   <soapenv:Body>
       <ser:GetReportResults>
         <!--Optional:-->
         <ser:username>username</ser:username>
         <!--Optional:-->
         <ser:password>12343</ser:password>
         <ser:reportId>000</ser:reportId>
         <!--Optional:-->
         <ser:templateValues>
            <FilterItems><FilterItem FilterItemId="12345">4/20/2015 12:00:00      AM</FilterItem></FilterItems>
         </ser:templateValues>
      </ser:GetReportResults>
    </soapenv:Body>
    </soapenv:Envelope>
        Value   <FilterItems><FilterItem FilterItemId=\"12345\">4/20/2015 12:00:00 AM</FilterItem></FilterItems>    
&lt;FilterItems&gt;&lt;FilterItem FilterItemId=&quot;12345&quot;&gt;4/20/2015 12:00:00 AM&lt;/FilterItem&gt;&lt;/FilterItems&gt;