Tem como setar um timeout num server Web Service?

3 respostas
carol_programadora

Oi gente,

gostaria de saber o seguinte, temos um web service server que está demorando as vezes 1 minuto para processar uma requisição, e os clientes estão setando o timeout para 30segundos, ou seja, eles recebem um timeout e meu server continua processando a requisição gerando inconsistência.

Num cliente web service eu já vi e sei como setar um timeout, mas no caso o server web service, onde provê o servidor, tem como eu setar um timeout e se não for processado naquele tempo ele aborta a operação de onde tiver?

É um web service SOAP.

De qualquer forma estamos investigando o motivo da demora no processamento, mas enquanto isso gostaria saber se é possível isso.

Obrigada.

3 Respostas

JoaoBluSCBR

Oi Carol,

Infelizmente nao faz muito sentido setar o timeout do servidor a menos
que ele esteja usando um ws de outro servidor (ou seja agindo como cliente).

Como o nome dele ja diz, ele eh um servidor, deve prover um serviço
no tempo que conseguir obter a informação ou executar o processo.

Entao quem rejeita o retorno demorado é o cliente mesmo e apenas ele.

Vc tem que, sem duvida, eh encontrar o motivo de tal demora.
Se eh um processo dentro do servidor, ou o acesso a algum banco, entao
voce terah de melhorar esse processo.

carol_programadora

Obrigada,

foi o que imaginei, que não faria sentido da minha parte setar esse timeout, mas não tinha certeza, o “client” do meu server está cobrando isso, mas o que importa é resolvermos a performance e já estamos identificando o causador.

JoaoBluSCBR:
Oi Carol,

Infelizmente nao faz muito sentido setar o timeout do servidor a menos
que ele esteja usando um ws de outro servidor (ou seja agindo como cliente).

Como o nome dele ja diz, ele eh um servidor, deve prover um serviço
no tempo que conseguir obter a informação ou executar o processo.

Entao quem rejeita o retorno demorado é o cliente mesmo e apenas ele.

Vc tem que, sem duvida, eh encontrar o motivo de tal demora.
Se eh um processo dentro do servidor, ou o acesso a algum banco, entao
voce terah de melhorar esse processo.

FernandoFranzini

Oi carol…to vendo que vc misturou as questões…
Timeout do tempo de resposta do HTTP Request ou expiração da session aberta na requisição SOAP dentro o container?
De qualquer forma…nenhum dos acimas citadas vão interromper o processo que esta sendo executado…

  • Se der o timeout limite da requisição, a thread continuara executando o SOAP.
  • A session dentro do servidor nunca expirara mesmo dando o tempo configurado caso existe uma thread executando.
    Problema de performance esta relacionado os processos executados dentro do seu SOAP…não tendo nenhuma relação com o timeout…
    Baseado nisso…qual o X da sua questão?
Criado 14 de setembro de 2011
Ultima resposta 14 de set. de 2011
Respostas 3
Participantes 3