Tomcat serve para publicar paginas e aplicacoes web, mas nao possui muito suporte sobre o processamento dos servicos. Isso porque, pelo menos para JAVA, o TomCat nao disponibiliza APIs necessarias para referencia nas aplicacoes. Assim, o principio do servidor, de processar dados, nao pode ser alcancado pela falta de capacidade de interpretacao de componentes necessarios. Foi aferido que existem outros Containers que mostram mais suporte as aplicacoes, como o GlassFish e o JBossESB. Destes dois, em especifico, o GlassFish mostrou-se o mais simples, apresentando pouco mais que as APIs basicas para uma aplicacao CRUD convencionais. O Container JBossESB, por sua vez, alem de suportar aplicacoes JAVA, estende-as com APIs especificas para implementacao de barramentos web, auxiliando desde o processo de codificacao (ampliando a gama de extensoes suportadas pelo Eclipse com JbossTools, por exemplo), passando por automacoes na comunicacao entre clientes e servidores chegando a oferecer ate um ambiente grafico mais eficiente para manipulacao dos arquivos que participam do webService. Claro que cada facilidade apresentada por estes outros Containers implica em tamanho maior do Container e demora significativa no tempo de execucao das aplicacoes.Ambiente de Trabalho:O TomCat, sozinho, nao possui capacidade de implementar webServices.Por isso, a Apache disponibiliza um complemento chamado Axis.Executavel TomCat:http://ftp.unicamp.br/pub/apache/tomcat/tomcat-7/v7.0.5-beta/bin/apache-tomcat-7.0.5.exeZip com a pasta Axis:http://linorg.usp.br/apache//ws/axis/1_4/axis-bin-1_4.zipComplemento xerces:http://www.apache.org/dist/xerces/j/Xerces-J-bin.2.11.0.zip 1 Instale o TomCat normalmente;2 Descompacte o zip do Axis;3 Mova a pasta "Axis", que encontra-se dentro do diretorio webapps do arquivo, para a pasta webapps do TomCat;4 Descompactar o zip do xerces;5 Mover os arquivos xercesImpl.jar e xml-apis.jar da pasta xerces para a pasta axis\lib\ (do proprio diretorio Axis, descompactado anteriormente).6 Criar as seguintes variaveis de ambiente:(Criar as JAVA, caso ainda nao estejam criadas, tambem.)AXIS_HOME=C:\axis AXIS_LIB=%AXIS_HOME%\lib AXISCLASSPATH=%AXIS_LIB%\wsdl4j-1.5.1.jar;%AXIS_LIB%\axis.jar;%AXIS_LIB%\commons-discovery-0.2.jar;%AXIS_LIB%\commons-logging- 1.0.4.jar;%AXIS_LIB%\jaxrpc.jar;%AXIS_LIB%\saaj.jar;%AXIS_LIB%\log4j-1.2.8.jar;%AXIS_LIB%\xml-apis.jar;%AXIS_LIB%\xercesImpl.jar;%AXIS_LIB%\jaxrpc.jar7 Mover o arquivo tools.jar da pasta lib do JAVA para a pasta lib do Axis, dentro do TomCat.8 - Pode-se testar se o ambiente esta ok abrindo o navegador e digitando a seguinte URL:http://localhost:8080/axisSe aparecer a tela do servidor Axis, estara tudo ok. Desenvolvimento do Servidor:1 - Abra a IDE e crie a seguinte classe JAVA: /* * Esta classe foi desenvolvida para ser referencia de teste para implementacao de SOA. * Este e um arquivo de servidor webService. * Recebe duas variaveis Inteiras do cliente e devolve a soma delas para o cliente */public class Calculadora { public int somar( int a, int b ) { return a + b; }}2 Salve o arquivo do servidor;3 Copie o arquivo do seu contexto para a pasta:C:\Arquivos de programas\Apache Software Foundation\Tomcat 7.0\webapps\axis\4 No Browser, digite a seguinte URL:http://localhost:8080/axis/Calculadora.jwsAparecera a seguinte tela:Clicando no Link, voce vera o arquivo WSDL: Agora, o servidor TomCat/Axis ja possui o arquivo de comunicacao pronto, aguardando o envio de dados pelo cliente.Desenvolvimento do Cliente: 1 Certifique-se que a IDE possui as Libs do Axis.No Eclipse, para incluir as Libs, Basta clicar o botao direito sobre a pasta do projeto -> Propriedades.JavaBuildPaths -> Libraries -> Add External JARsSelecione todas as JARs da pasta LIB do Axis -> OK.2 Abra a IDE e crie o seguinte arquivo: import javax.swing.*;import org.apache.axis.client.Call;import org.apache.axis.client.Service;import org.apache.axis.encoding.XMLType;import javax.xml.rpc.ParameterMode;public class Cliente { public Cliente(){ } private void invocaServico(String endpointURL, int mensagem1,