web-services - 在 Delphi 中动态使用 WSDL

标签 web-services delphi soap wsdl

如何使用动态 WSDL,它的操作和参数在程序配置文件中给出?

例如,我们有一个配置文件:

[Section]
WSDL=http://example.com/SomePub/ws/SomeService?wsdl
Username=myuser
Password=mypass
OperationName=MyOperation
ParameterName=MyParameter

即我们必须使用网络服务,它是未知的,但仅在运行时提供(通过 ini 文件)。因此,我们无法在Delphi中使用WSDL导入向导。

我们可以在 Delphi 中编写这样一个程序,它会从配置中加载这些设置,然后将数据传递到由给定 WSDL 指定的 Web 服务上指定参数中的指定操作吗?

最佳答案

使用 SOAPUI,导入服务并执行示例调用。将原始请求和原始响应复制到记事本中。使用“标签”修改真实数据,并将每个原始模板作为值包含在 INI 中。当您需要调用电话时,打开 INI,获取原始响应模板并将标签替换为实际值。使用原始模板以相同的方式手动发送 SOAP 请求并解析响应。

关于web-services - 在 Delphi 中动态使用 WSDL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18605040/

相关文章:

delphi - 使用Intraweb与另一个网站进行通信

java - 从 Java 中的 SOAP C# Web 服务获取单个数据

delphi - 如何在启动 Delphi 应用程序时捕获修改键以强制执行某些行为

android - 修复了 Android 上使用 fmx 字体的 : canvas. 填充文本被 block 背景包围的问题

ios - 为什么 Uitextfield 返回 null?

web-services - 为什么使用 ?wsdl 后缀获取 URL 会产生没有操作信息的 wsdl?

C# Web 服务和全局变量

performance - 我们需要 xfire 请求 header 中的 "Expect: 100-continue" header 吗?

android - 在网络上上传图像 : getting html source code as response

java - javafixedThreadPool可以被多个线程使用吗