sql-server - 如何从 InTouch Wonderware 或 SQL Server 2014 调用 SOAP Web 服务
问题描述
我一直在尝试从 InTouch Wonderware 或 MS SQL 2014 调用现有的 SOAP Web 服务。两者中的哪一个调用它并不重要,因为 Wonderware 项目无论如何都会读取/写入 SQL Server 数据库。
我的知识主要限于 Wonderware 及其访问 SQL Server 数据库的程序内选项,这与 Web 服务主题的常规指南不兼容。
Web 服务由客户提供,已有十多年的历史并已外包,这排除了对其进行任何更改的可能性。目标是通过 ID 从 Web 服务请求原材料数据,然后返回生成的材料数据。每个函数的参数都有文档记录,但唯一存在的 URL 需要用户名/密码,并直接显示 WSDL 文件的内容。该文件(当保存在本地时)在 SoapUI 上运行,并且测试用例提供所需的结果。
我的问题是第一步 - 连接到 Web 服务并发送/接收消息。WebSVC(InTouch Web 服务客户端)无法处理基本身份验证,即使在链接中包含用户名和密码时也无法连接(在任何浏览器中都可以使用)。关于该主题的指南通常已经过时,或者与手头的问题不匹配。
由于我对数据库和 Web 编程的知识有限,我该如何使用 Web 服务(最好以简单的方式)?性能无关紧要——数据库平均每分钟处理的请求少于 10 个,延迟不会破坏任何重要的东西。
解决方案
引用 Jeroen Mostert 的评论:“如果您在 Windows 上,PowerShell 的 New-WebServiceProxy 允许您非常轻松地连接 SOAP 服务,并且从它向 SQL Server 插入东西同样简单(Invoke-Sqlcmd)。 ”
这种方法有效。总结这些步骤,直到我从网络服务中得到答案:
- 升级到 PowerShell 5.1(Win7 VM 没有)
- 通过 microsoft guide设置 WebServiceProxy
- 通过外部向导添加凭据、属性和测试方法,解决身份验证问题并获取所需的输入格式
推荐阅读
- node.js - 反应:尝试推送 git 页面时出现 ENOENT 错误
- python - 如何在 Python 中仅打印部分 JSON 字符串
- python - 为什么在 python 中腌制某些东西不能保存我保存的确切内容?
- algorithm - 是否有算法可以为不必要的不同元素生成不同的排列?
- flutter - 像这样绘制自定义形状 Flutter
- bash - 在 shell 中自动填充用户读取的输入
- angular - ng build:如何设置 ES5 捆绑包的重试次数
- svg - 颤振中的svg路径的dropShadow
- scala - Flink scala jar 不起作用。“程序导致错误:”
- android - BaseLoaderCallback:未找到 OpenCV 管理器包!如何安装以及为什么需要?