1

有一个外部的Web 服务,分别需要客户端给他。基于 WSDL 标准的外壳 Embarcadero RAD Studio XE (Delphi XE) 创建了一个通常运行良好的单元,但在这种情况下有一个警告 - 在其中一个函数转移到 100 多个参数。当您在运行时创建用于调用 Web 服务的对象时,会出现错误“方法‘方法名称’中的参数过多”。如果参数的数量减少到 61,那么一切都开始工作 - 调用 Web 服务运行良好并返回响应。为什么会这样?翻了internet,结果却为零。

4

1 回答 1

7

这正是错误消息所说的原因。参数太多了。SOAP 包装器的代码生成器(在Rio.pas中)只允许将 252 个字节压入堆栈以调用包装的方法,该方法转换为 63 个指针大小的参数。(较大的参数可能需要更多字节,从而减少允许的参数总数。)

于 2012-07-23T17:41:06.913 回答