【问题标题】:Unable to load WSDL File/Location in Delphi for VIES SOAP Service无法在 Delphi 中为 VIES SOAP 服务加载 WSDL 文件/位置
【发布时间】:2013-01-06 00:27:31
【问题描述】:

我正在尝试创建一个 Delphi XE2 函数来通过 VIES 的 SOAP 服务检查增值税号:http://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl

当我使用 Delphi X2 的 WSDL 导入器,上面的 URL 采用默认值时,我收到以下错误: 无法加载 WSDL 文件/位置:http://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl。错误 [未找到请求的标头 - URL:http://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl - SOAPAction:""

我在做什么?

【问题讨论】:

  • 我正在使用 Bob 博士的肥皂教程 drbob42.com/examines/examinE2.htm,他使用 checkVatService.wsdl 并偶然发现了 @Pep 在使用 XE3 时描述的相同问题。 (但是,WSDL 导入适用于 XE)
  • 如果可能,您可以使用其他版本的 Delphi 导入 WSDL。生成的导入单元将适用于以后的版本(我今天将它与 XE8 一起使用,没有任何进一步的更改)...

标签: delphi soap delphi-xe2


【解决方案1】:

将 wsdl 文件保存到光盘并导入保存的 xml 文件。 生成pas文件后,将(_1, _2)中的matchCode = (1, 2)这一行改一下。

【讨论】:

  • 谢谢,将它保存到磁盘避免了这个问题。但是,没有必要将 (1, 2) 更改为 (_1, _2),因为它已经用 (_1, _2) 生成了
  • 谢谢@Arjen van der Spek 这也解决了 XE3 的问题!
  • 这也解决了 Delphi 10 中的问题。谢谢。无需在 (_1, _2) 中重命名 (1,2)。现在生成的代码是“matchCode = (_1, _2, _3);”
  • 在 10.4 悉尼解决了同样的问题,不需要改变任何东西
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-04
相关资源
最近更新 更多