Конференция "Corba" » WebService клиент ругается ESOAPHTTPException The data area passe [Delphi]
 
  • serg_new_ (03.03.09 11:04) [0]
    Есть WebService (c#)
    Написал к нему клиента (D7, через стандартного мастера)
    Все работает, но на долгих запросах клиент отваливается по таймауту
    Добавил строчку
        RIO.HTTPWebNode.ReceiveTimeout := 100000;
    В результате получаю ошибку следующего вида
        ESOAPHTTPException The data area passed to a system call is too small
    Подскажите каким образом ее разрулить и как управлять таймаутом?
    Заранее спасибо
  • BlackIce (25.12.09 15:32) [1]
    RIO.HTTPWebNode.ReceiveTimeout  - не трогать.
    использовать WinINET.pas

    procedure RIOHTTPWebNode1BeforePost(const HTTPReqResp: THTTPReqResp;
     Data: Pointer);
    var
     TimeOut: Integer;
    begin
      TimeOut := 100000;
      InternetSetOption(Data,
       INTERNET_OPTION_CONNECT_TIMEOUT,
       Pointer(@TimeOut),
       SizeOf(TimeOut));
      InternetSetOption(Data,
       INTERNET_OPTION_RECEIVE_TIMEOUT,
       Pointer(@TimeOut),
       SizeOf(TimeOut));
      InternetSetOption(Data,
       INTERNET_OPTION_SEND_TIMEOUT,
       Pointer(@TimeOut),
       SizeOf(TimeOut));
    end;
 
Конференция "Corba" » WebService клиент ругается ESOAPHTTPException The data area passe [Delphi]
Есть новые Нет новых   [134427   +35][b:0][p:0]