GWT-RPC e a infame exceção esporádica “StatusCodeException: 0” revisitada

Meu problema é oinfame "StatusCodeException: 0" problema acontecendo ao usarGWT 2.6.1 ao acessar a página via subdomíniohttps://sub.site.com/.

Agora, isso acontece bastanteesporadicamente paraum cliente usando o IE11 eNão consigo reproduzir isso de vários computadores distintos usando o IE11, IE10, IE9 ou IE8 (para não falar do Chrome ou Firefox).

Acessando exatamente o mesmo aplicativo da Web a partir dehttps://site.com/ parece funcionar bem para esse cliente.

Obviamente, isso me levou a concluir que estou tendo problemas comPolítica de Mesma Origem.

O que é estranho, porém, é que meuwebapp é projetado da maneira quesem domínio cruzado ousubdomínio cruzado pedidos são feitos. O mesmo vale parasem protocolo cruzado tambémsem porta cruzada solicitações de. Em outras palavras,Política de Mesma Origem não é violado nesta situação. Como confirmação, posso fornecer a seguinte prova:

Enquanto estiver no site do cliente, vicomo isso é reproduzido: cliente começausando aplicativo etudo funciona bem - todos os pedidos estão retornando resposta normalmente. Então,depois de alguns minutos de trabalhar, exatamente omesmos pedidos na mesma página (sem recarregamentos)começa a falhar comStatusCodeException: 0.

Basicamente, amboshttps://sub.site.com ehttps://site.com aponta para o mesmo IP, e háapenas um aplicativo da Web Tomcat servindo exatamente os mesmos recursos, tanto parahttps://sub.site.com ehttps://site.com.

Outra prova seria a base de código do próprio módulo GWT: lá eu uso apenas uma instância de um serviço chamadoDashboardService:

public class DashboardModule extends EntryPoint implements IDashboardModule {

    private final DashboardServiceAsync dashboardService = createDashboardService();

    @Override
    public void onModuleLoad() {
        // loading of module elements 
        // dashboardService is passed as a parameter so only one instance is used
    }

    /**
     * PLEASE SEE QUESTION #1 BELOW CODE SNIPPET
     */
    private static final String DASHBOARD_REQUEST_URL = "request";

    private static DashboardServiceAsync createDashboardService() {
        final DashboardServiceAsync service = GWT.create(DashboardService.class);
        ((ServiceDefTarget) service).setServiceEntryPoint(DASHBOARD_REQUEST_URL);
        return service;
    }
}

=================================== EDIT ============== ======================

Depois de procurar no console a localização do cliente, o erro sempre foi o seguinte:

SCRIPT7002: XmlHttpRequest: erro de rede 0x2ee4, ...

então parece que isso não tem nada a ver comPolítica de Mesma Origem, porque conformeEste artigo é descrito comoERROR_INTERNET_INTERNAL_ERROR An internal error has occurred.

É uma pena, mas eu encontrei apenas 2 menções deste erro que não foram resolvidas:Erro no IE10 eErro no IE11.

Eu suponho que o cliente provavelmente esteja acessando o site por meio de algum proxy que altera ligeiramente as solicitações e o IE não pode lidar com elas.

Questão 1: alguém sabe como posso simular ou reproduzir o erro mencionado localmente?

Questão 2: alguém sabe como esse problema pode ser resolvido com graça?

Questão 3: está tudo bem em simplesmente tentar novamente a solicitação, ou esta solicitação pode ter chegado ao servidor e modificá-lo; portanto, tentar novamente pode produzir modificações duplicadas?

Tentará configurar o proxy de encaminhamento para simular a possível configuração do cliente para pelo menos reproduzir o erro mencionado ...

Agradeço imensamente qualquer ajuda!

questionAnswers(1)

yourAnswerToTheQuestion