[color=darkred]Olá, pessoal!
Estou com um problema no meu cliente de Web Service e gostaria de saber se os colegas podem me ajudar.
Meu cliente possui cerca de 50 lojas que necessitam atualizar o estoque na matriz, diariamente. Para isso, decidiram usar Web Service e enviar um arquivo xml a cada dia para a matriz. Entrei no projeto para terminar o cliente do Web Service; quem fez o servidor foi outra firma, usando .net.
O arquivo xml possui cerca de 300 kb e, após enviá-lo para o servidor, o retorno do processamento de um arquivo está levando em torno de 6 a 7 minutos. As 50 lojas não tem um horário fixo para enviar os seus arquivos, mas é muito provável que o façam pela manhã. No pior dos cenários, irão todas enviar ao mesmo tempo.
Para não ficar com o cliente travado, esperando o processamento de arquivo a arquivo, fiz o cliente se conectar assincronamente, usando callback. Se eu mando um arquivo, o processamento ocorre sem problemas; se mando dois, também. Porém, qualquer quantidade superior a esta é premiada com um [/color][color=darkblue]org.apache.axis2.AxisFault: Connection reset[/color][color=darkred], nenhuma das requisições consegue ser processada.
Aparentemente, entendo que o servidor não está sendo capaz de aguentar a carga, apesar de ter as garantias de seus desenvolvedores de que ele aguentaria o tranco. Como posso ter certeza de que o problema é do lado do servidor e não do cliente? Fico pensando se de repente as conexões não estão sendo resetadas do meu lado, por ficarem esperando por conexões com o servidor e não conseguirem.
O erro todo segue abaixo, se alguém tiver alguma dica, fico muito grato!
Abraços,
Big Joe[/color]
org.apache.axis2.AxisFault: Connection reset
org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:193)
org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:75)
org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:364)
org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:208)
org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:448)
org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:401)
org.apache.axis2.description.OutInAxisOperationClient$NonBlockingInvocationWorker.run(OutInAxisOperation.java:441)
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
java.lang.Thread.run(Thread.java:595)