SSIS:将Web服务对象从一个脚本任务传递到另一个脚本任务时出错

时间:2016-02-19 10:42:21

标签: ssis

我有两个引用Web服务的脚本任务。这两个脚本任务都指向同一个Web服务。一旦我创建了webservice的实例并建立了我的 连接,我想将同一个实例传递给下一个脚本任务,因为我需要进行另一个webservice调用。

为了在我的第一个任务中实现这一目标,我将执行以下操作

  1. 创建类型为对象的包级别变量IPSService
  2. 创建网络服务参考
  3. 添加使用ST_d4beade8c14e45c3af4e582df4c22c89.csproj.uk.co.iress.webservices的using语句; (从对象浏览器获得参考)
  4. 在脚本任务
  5. 中的服务实例中创建
  6. 将对象分配给Dts.Variables [“User :: IPSService”]。Value = iPSService;
  7. 将脚本属性中的ReadWrite变量设置为User :: IPSService。
  8. 在第二个脚本任务中,我执行以下操作

    1. 将脚本任务的readonly variable属性设置为User :: IPSService
    2. 创建网络服务参考
    3. 添加使用ST_d4beade8c14e45c3af4e582df4c22c89.csproj.uk.co.iress.webservices的using语句; (从对象浏览器获得参考)
    4. 在main方法中,IPSService iPSService1 =(IPSService)Dts.Variables [“User :: IPSService”]。Value;
    5. 然而,当我运行任务时,我收到以下错误

      错误:System.Reflection.TargetInvocationException:调用目标抛出了异常。 ---> System.InvalidCastException:无法将类型为“ST_d4beade8c14e45c3af4e582df4c22c89.csproj.uk.co.iress.webservices.IPSService”的对象强制转换为“ST_d4beade8c14e45c3af4e582df4c22c89.csproj.uk.co.iress.webservices.IPSService”。    在ST_d4beade8c14e45c3af4e582df4c22c89.csproj.ScriptMain.Main()

      我只做了一个小小的改动,以避免传递对象并在第二个脚本方法中重新创建对象,但我得到一个新错误错误:System.Reflection.TargetInvocationException:调用目标抛出了异常。 ---> System.Web.Services.Protocols.SoapException:无效的SDO主题TD_ERROR。

      有人可以告诉我问题是什么

1 个答案:

答案 0 :(得分:0)

这已得到修复。在调用Web服务时,有一些标题信息被遗漏了。