【发布时间】:2019-06-06 14:08:37
【问题描述】:
我尝试通过 SSIS 中的 Web 服务任务与 AFAS getconnector 建立连接。这一直有效,直到 AFAS 需要 tls1.2 安全性。现在我无法从 AFAS 中获取数据。
我使用 .net4.6 安装了 SSIS 2016。
我已经在网上搜索并尝试使用以下代码添加“脚本任务”:
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls12;
这没有成功。
我得到的错误是:
错误:0xC002F304 在员工,Web 服务任务:发生错误 带有以下错误消息:
“Microsoft.SqlServer.Dts.Tasks.WebServiceTask.WebserviceTaskException: Web 服务在方法执行期间引发错误。错误是: 底层连接已关闭:发生意外错误 发送..
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、对象连接、VariableDispenser taskVariableDispenser)
在
Microsoft.SqlServer.Dts.Tasks.WebServiceTask.WebServiceTask.executeThread()"。
有人知道这个问题的解决方案吗?
【问题讨论】:
-
我假设您使用的是内置的 Web 服务任务?如果是这样,我将排除我对这个主题的多彩意见,因为这是我不久前面临的一个问题。实际上,一段时间后,我发现 Web Service 任务根本不支持 TLS1.2;时期。我必须最终将具有 Web 服务任务的进程转换为脚本任务,这 确实 尊重
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls12;作为该脚本任务中包含的所有内容。我意识到这并不理想,但目前这似乎是 SSIS 中的一个缺陷。 -
是的,你是对的。这是一个内置的 Web 服务任务。如果这不起作用,从 afas 导出 csv 并由 ssis 处理可能会更好/更容易。
-
如果您收到的只是 CSV,那么使用 tls1.2 在脚本组件(源)中进行提取会非常简单
标签: soap ssis sql-server-2016 tls1.2 afas-online