Клиент Delphi мыла заканчивает тайм-аутом для вызова 1 МБ

мы разрабатываем веб-сервис SOAP (Apache/PHP). Все выполнение хорошо для небольшого размера вызовов, но с вызовом мыла 1 МБ (размер вызова HTTPS составляет 1 МБ), наша клиентская остановка Мыла Delphi с тайм-аутом на всем ПК, но один, и наши клиенты PHP, выполненные хорошо с default_socket_timeout=300, но остановкой с "Ошибкой при Выборке http заголовков" с default_socket_timeout=60.

Как мы можем изменить тайм-аут для Delphi? На самом деле этот тайм-аут, кажется, находится в сетевой библиотеке Windows XP (wininet.dll, названный soaphttptrans.pas)

Спасибо
Cédric

5
задан Cédric Girard 16 April 2010 в 15:19
поделиться

2 ответа

На самом деле это была проблема с установкой IE7: он полностью меняет время ожидания сети.

ПК с IE6 имеет тайм-аут 3600 секунд, IE7 изменяет его на 30 секунд. Использование InternetQueryOption () показывает это, а InternetSetOption помогает изменить это.

Большое спасибо моему напарнику, который часами выискивал ошибку.

5
ответ дан 14 December 2019 в 04:33
поделиться

В SOAPHttpTrans есть значение MaxSinglePostSize. Кажется, я припоминаю, что у меня с этим были проблемы. Это не предел, но он ведет себя по-другому (разбивается на части для отправки), если вы больше или ниже этого лимита. (по умолчанию 32768). Я ожидаю, что вы достигнете такого размера раньше, если будете на D2009 / D2010, из-за широких струн. Было бы интересно посмотреть, не возникнут ли у вас проблемы примерно такого размера. Вы можете использовать Fiddler для захвата некоторого вывода (или подключиться к событию OnBeforePost и самостоятельно выгрузить сериализованный XML в файл) и посмотреть, возникнут ли у вас проблемы, вместо ранее наблюдавшегося 1 МБ.

Но в любом случае у класса THTTPReqResp есть параметры для SendTimeout и ReceiveTimeout. Попробуйте отрегулировать их.

Также ... если вы используете Delphi до Delphi2007, вам следует обновить библиотеки мыла. Где-то есть загрузка ... много исправлений ошибок, включая неприятную проблему с памятью, из-за которой ваше приложение будет остановлено DEP.

3
ответ дан 14 December 2019 в 04:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: