Fechar

quarta-feira, 3 de dezembro de 2014

Delphi - The action must be retried

0 comentários



Ao fazer uma requisição SOAP, onde o tamanho de uma string enviada na requisição é muito grande, é gerada uma exceção do tipo "The action must be retried". Isso ocorre devido ao tamanho do blocksize  que no Delphi é limitado a 32kB por padrão.

Uma solução não muito elegante para contornar esse problema, é aumentar o tamanho da propriedade MaxSinglePostSize do HTTPRIO.HTTPWebNode quando o evento HTTPRIOBeforeExecute for chamado:


procedure TForm1.HTTPRIOTotvsBeforeExecute(const MethodName: string;
  var SOAPRequest: WideString);
begin
  HTTPRIO.HTTPWebNode.MaxSinglePostSize := 999999999;
end;



Dessa forma, é possível enviar uma string longa na  requisição SOAP.

Mais Populares

Seguidores

Є & V. Copyright 2011 Evaldo Avelar Marques - sprintrade network