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?