none
Server Error Server was unable to process request. RRS feed

  • Pergunta

  • Pessoal tenho um WebService devidamente publicado no servidor e funcionando, quer dizer funcionando ate certo ponto em alguns momentos recebo a seguinte mensagem quando tentando executar os webmethods (( Server Error Server was unable to process request. )) o webservice é consumido atraves de uma aplicação mobile ja verifiquei a conexão de rede do dispositivo movel e estava OK o webmethod realiza uma consulta em um Banco de Dados Oracle e me retorna tres tres colunas de registro em apenas uma linha ou seja recebo a (descrição,preço,qtdade) as vezes o programa executa a consulta recebo os daods de retorno e na leitura seguinte ele gera o erro novamente as vezes o erro ocorre 1 ou 2, 3 e funciona e gera de novo mas isso é esporadico alguem teria alguma dica ou o porque desse tipo de erro

    Obrigado


    Junior
    terça-feira, 23 de agosto de 2011 23:15

Respostas

  • Olá Junior,

    Verifique o tamanho do Request ou o tamanho do pacote que vc está enviando.

    Se forem muitos dados, vc terá de enviar as informações em pacotes.

    Quando eu sofri deste problema, tipo de fazer o envio em pacotes.

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.wordpress.com/
    Twitter: @ferhenrique
    domingo, 28 de agosto de 2011 12:37
  • Olá Junior,

    Preciso que vc me informe quantos registros geralmente retornam de uma consulta e descreva quais campos retornam da mesma.

    Para medir o tamanho do pacote trafego vc pode utilizar o NetworkMonitor.

     

    O modo como vc fez a divisão em pacotes não é a mais adequada. Na verdade vc deveria fazer da seguinte maneira:

    [Sem pacotes]

    Registro 1 = A B C D E
    Registro 2 = A B C D E
    Registro 3 = A B C D E
    Registro 4 = A B C D E
    Registro 5 = A B C D E
    Registro 6 = A B C D E
    Registro 7 = A B C D E
    Registro 8 = A B C D E

    [Com pacotes]

    Registro 1 = A B C D E (Pacote 1)
    Registro 2 = A B C D E
    Registro 3 = A B C D E


    Registro 4 = A B C D E (Pacote 2)
    Registro 5 = A B C D E
    Registro 6 = A B C D E

    Registro 7 = A B C D E (Pacote 3)
    Registro 8 = A B C D E

     

    Outra dica, antes de mais nada, tente aumentar o tamanho do request de sua aplicação web. Através do atributo maxRequestLength, no seu Web.Config.

     

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.wordpress.com/
    Twitter: @ferhenrique
    quarta-feira, 31 de agosto de 2011 15:57

Todas as Respostas

  • Olá Junior,

    Verifique o tamanho do Request ou o tamanho do pacote que vc está enviando.

    Se forem muitos dados, vc terá de enviar as informações em pacotes.

    Quando eu sofri deste problema, tipo de fazer o envio em pacotes.

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.wordpress.com/
    Twitter: @ferhenrique
    domingo, 28 de agosto de 2011 12:37
  • Ola vc poderia me dar uma dica sobre a questão da verificação do tamanho do request / tamanho do pacote como assim como eu poderia identificar o tamanho do request ?

    So por questões de informação, eu tenho uma busca que me retorna alguns registros, eu quebrei esse retorno em duas partes uma eu trago a descrição do produto e em outra eu trago a qtdade e o valor ... essa que me retorna a qtdade e o valor eu retorno ela atraves de um vetor isso seria mais indicado por questões de performance de webservices não é mesmo ???

     

    Muito obrigado


    Junior
    quarta-feira, 31 de agosto de 2011 15:29
  • Olá Junior,

    Preciso que vc me informe quantos registros geralmente retornam de uma consulta e descreva quais campos retornam da mesma.

    Para medir o tamanho do pacote trafego vc pode utilizar o NetworkMonitor.

     

    O modo como vc fez a divisão em pacotes não é a mais adequada. Na verdade vc deveria fazer da seguinte maneira:

    [Sem pacotes]

    Registro 1 = A B C D E
    Registro 2 = A B C D E
    Registro 3 = A B C D E
    Registro 4 = A B C D E
    Registro 5 = A B C D E
    Registro 6 = A B C D E
    Registro 7 = A B C D E
    Registro 8 = A B C D E

    [Com pacotes]

    Registro 1 = A B C D E (Pacote 1)
    Registro 2 = A B C D E
    Registro 3 = A B C D E


    Registro 4 = A B C D E (Pacote 2)
    Registro 5 = A B C D E
    Registro 6 = A B C D E

    Registro 7 = A B C D E (Pacote 3)
    Registro 8 = A B C D E

     

    Outra dica, antes de mais nada, tente aumentar o tamanho do request de sua aplicação web. Através do atributo maxRequestLength, no seu Web.Config.

     

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.wordpress.com/
    Twitter: @ferhenrique
    quarta-feira, 31 de agosto de 2011 15:57