SSIS 2012 Web服务任务-字符串不是原始类型



我正在使用SSIS 2012,并试图调用以下公共web服务:https://www.asc.gov/wsvc/ASCQuerySvc.asmx?WSDL

我能够成功调用GetQueryableFields()方法,但是当我尝试调用RunQuery()方法时,我得到以下错误:

[Web Service Task] Error: An error occurred with the following error message: "Microsoft.SqlServer.Dts.Tasks.WebServiceTask.WebserviceTaskException: Could not execute the Web method. The error is: The WebMethodInfo you have specified is incorrect. String is not of type Primitive Type..
   at Microsoft.SqlServer.Dts.Tasks.WebServiceTask.WebMethodInvokerProxy.InvokeMethod(DTSWebMethodInfo methodInfo, String serviceName, Object connection)
   at Microsoft.SqlServer.Dts.Tasks.WebServiceTask.WebServiceTaskUtil.Invoke(DTSWebMethodInfo methodInfo, String serviceName, Object connection, VariableDispenser taskVariableDispenser)
   at Microsoft.SqlServer.Dts.Tasks.WebServiceTask.WebServiceTask.executeThread()".

我已经搜索了web,我唯一能找到的是web服务任务有自定义复杂对象的问题,没有进一步的解释。我发现的唯一解决方法是执行脚本任务,这是我可以做到的。我只是问,因为如果我能在自定义的 c# 上使用Web Service任务就太好了,这样我的BI人员就不必在构建这些SSIS包之前等待开发人员了。

有同样的问题。经过几个小时的故障排除,我终于解决了。

当运行SSIS包从ASC webservice提取许可证数据时,它失败了,错误信息如下所示:

您指定的WebMethodInfo不正确。字符串不是基本类型

因为dtsx文件中的数据类型定义是区分大小写的。

要解决这个问题,请使用记事本编辑dtsx文件。搜索数据类型="字符串"。有三个匹配,只有一个是大写的。将"String"中的大写S替换为小写S -> "String"。保存dtsx文件

最新更新