Слишком много параметров в методе... (подключение к WebService из WSDL в Delphi XE)
Существует внешний веб-сервис, соответственно, клиент требует от него. На основе стандарта WSDL для оболочки Embarcadero RAD Studio XE (Delphi XE) создал модуль, который обычно работает хорошо, но в этом случае есть предостережение - в одной из функций передается более 100 параметров. При создании объекта для вызова веб-службы во время выполнения выдается ошибка "Слишком много параметров в методе" имя метода "". Если количество параметров уменьшается до 61, то все начинает работать - вызов веб-службы выполняется нормально и возвращает ответ. Почему это происходит? Включил интернет, но результатов ноль.
1 ответ
Это происходит именно по той причине, что говорится в сообщении об ошибке. Слишком много параметров. Генератор кода для оболочки SOAP (в Rio.pas) будет позволять помещать в стек только 252 байта для вызова упакованного метода, который преобразуется в 63 параметра размером с указатель. (Для больших параметров может потребоваться больше байтов, что уменьшает общее количество разрешенных параметров.)