方法中的参数太多...(从Delphi XE中的WSDL连接到WebService)

时间:2012-07-23 16:40:44

标签: web-services delphi wsdl delphi-xe queryinterface

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

1 个答案:

答案 0 :(得分:7)

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