Tem como setar um timeout num server Web Service?

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.

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.

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.

[quote=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. [/quote]

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?