如何修复错误'输入Web服务描述语言(WSDL)文件无效'?

Hec*_*hez 4 ssis web-services sql-server-2008

当我将DTSX文件部署到生产服务器时,我遇到了问题.

在DTSX文件中,我通过Web Service TaskWebService使用WebService,要求提供必须从本地路径下载的WSDL文件.

我的机器没有问题,但在生产服务器中它不会存在.

我认为要求我的客户授予我进入其生产服务器的权限并创建一个用于存储该wsdl文件的文件夹是不可接受的.另外,当wsdl发生变化时会发生什么?我将不得不再次部署我的dtsx包,并替换服务器中的wsdl文件.所以我认为这不是一个选择.

所以,我的问题是,

有没有办法避免使用带有wsdl especifcation的物理文件,或者可以将其部署在dtsx部署包中,或者将其保存在变量中,或者我还能做什么呢?

我一直在寻找,但仍然没有运气.

任何帮助将非常感激.

小智 5

要实现这一点,一种选择是利用Script Task.NET命名空间并在.NET命名空间的帮助下System.Net.WebClient,您可以访问WSDL URL路径并将WSDL文件的内容下载到系统的临时文件夹路径.您可以TEMP使用.NET方法获取系统的临时文件夹路径,即环境变量的值System.IO.Path.GetTempPath().然后,可以将新生成的WSDL文件的临时路径存储在SSIS包变量中,然后可以将其配置Web Service Task为使用它而不是依赖于本地路径.最初,在开发期间,您需要在本地路径中包含WSDL文件,但是一旦将包部署到生产环境,本地驱动器上就不需要存在WSDL文件.

希望有所帮助.