2012-07-23 41 views
1

有一個外部Web服務分別需要客戶端給他。基於WSDL標準的Embarcadero RAD Studio XE(Delphi XE)創建了一個通常可以正常工作的單元,但在這種情況下存在一個警告 - 其中一個功能轉換爲超過100個參數。 在運行時創建用於調用Web服務的對象時,出現錯誤「方法中的方法名稱太多」中的錯誤。 如果參數的數量減少到61,那麼一切都開始工作 - 調用Web服務運行良好並返回響應。 這是怎麼回事? 打開互聯網,但結果爲零。方法中的參數太多(從Delphi XE中的WSDL連接到WebService)

+4

> 100方法參數太多了__太多 – mjn 2012-07-23 16:56:53

+0

完全同意你)))但對我來說這是一個外部服務。 – MadJim 2012-07-24 06:28:41

回答

7

這正是因爲錯誤消息說的原因而發生的。參數太多。 SOAP包裝器的代碼生成器(Rio.pas)只允許將252個字節壓入堆棧以調用包裝方法,該方法轉換爲63個指針大小的參數。 (更大的參數可能需要更多的字節,減少允許的參數總數。)

+0

謝謝!但是爲什麼在Builder C++(RAD Studio XE)中沒有這個錯誤? (現在用C++編寫DLL) – MadJim 2012-07-24 06:26:09