Bom Dia !
Pessoal,
Estou desenvolvendo aqui na empresa um web service de pesquisa, utilizando o jboss 7.1, java 7 spring 3.1.1 e mybatis 3.0.6. As consultas, o retorno do web service está tudo ok, mas estou com um problema no retorno de uma string de 30kb ( o que é um xml que definimos aqui na empresa, um exemplo abaixo) está muito lendo. Quando realizo o retorno de uma ou duas consultas OK, mas quando retorno um número razoável tipo 100 nodos de PESSOA demora um pouco. Alguém tem uma dica de como posso aumentar a velocidade do retorno ? ( É a primeira vez que trabalho com integração web service)
<CONSULTAWEB>
<PESSOAS TOTAL="2">
<PESSOA>
<CPF_CNPJ>123456789</CPF_CNPJ>
<NOME>JOAOZINHO</NOME>
<TELEFONES TOTAL="2">
<TELEFONE>
<DDI></DDI>
<DDD>54</DDD>
<NUMERO>34835531</NUMERO>
<RAMAL></RAMAL>
</TELEFONE>
<TELEFONE>
<DDI>055</DDI>
<DDD>54</DDD>
<NUMERO>34835531</NUMERO>
<RAMAL></RAMAL>
</TELEFONE>
</TELEFONES>
<ENDERECOS TOTAL="1">
<ENDERECO>
<LOGRADOURO>XYZ</LOGRADOURO>
<NUMERO>500</NUMERO>
<CIDADE>CAXIAS DO SUL</CIDADE>
<UF>RS</UF>
</ENDERECO>
</ENDERECOS>
</PESSOA>
<PESSOA>
<CPF_CNPJ>2530</CPF_CNPJ>
<NOME>Fulano de Tal</NOME>
</PESSOA>
</PESSOAS>
</CONSULTAWEB>
Desde já agradeço à atenção de todos.
Ulisses
Me parece que, dificilmente o problema está no web service em sí. Pelo que você está contando, de demorar quando retorna um número maior, dá a impressão que talvez sua consulta SQL não esteja “tunada”. Você pode mensurar isso com testes de performance individuais, por componente envolvido, utilizando um JMeter da vida.
[]'s
Tchê,
O retorno do sql está super rápido, o problema está quando dou o return no método do web service no servidor, o meu client (também em java) demora para receber a string com o retorno.
Acredito que possa ser alguma configuração até no Jboss… mas estou ainda tentando resolver…
Obrigado.
Ulisses
[quote=ulissesnairne]Tchê,
O retorno do sql está super rápido, o problema está quando dou o return no método do web service no servidor, o meu client (também em java) demora para receber a string com o retorno.
Acredito que possa ser alguma configuração até no Jboss… mas estou ainda tentando resolver…
Obrigado.
Ulisses[/quote]
Já checou o console, também, para ver se tem algum erro lá?
[]'s
Pessoal,
Gratos à todos que disponibilizaram um pouco do seu tempo para me ajudar, encontrei o problema. O que acontecia é que eu estava usando no meu server uma tecnologia diferente do meu cliente. No server estava utilizando a publicação por anotações dos serviços (JAX-WS - com RPC Style) e no meu client estava utilizando para consumir o meu serviço o import do eclipse ( File -> New -> Other -> Web Services -> Web Service Client) o qual funciona com CXF (podem me corrigir se eu estiver enganado). Então dei uma pesquisada e encontrei esses exemplos http://www.mkyong.com/webservices/jax-ws/jax-ws-hello-world-example/ com JAX-WS no client que está super rápido.
Só lembrando que para utilizar com o JBOSS 7.1.1 tive que fazer a configuração do spring conforme a link http://blog.brunoborges.com.br/2012/06/jboss-711-and-cxf-ws-client.html
Obrigado à todos pela atenção.
Ulisses
Dica: quando você quiser testar somente o serviço (e não a comunicação end-to-end), utilize SoapUI.
[]'s
Bah,
Valeu pela dica Alexandre, vou utilizar este software. Também anotei o nome do seu livro sobre SOA, vai ser uma das minha próximas aquisições.
Obrigado.