Tutorias Hildebrando em 19 Ago 2006
Uhmmmm….Web Services…. é facil fazer?
Quero comentar um tutorial postado no guj (guj.com.br) sobre a utilização do Apache Axis para o desenvolvimento/publicação/acesso de um WS.
Segue comentários.
Estou querendo realizar alguns teste de produtividade no desenvolvimento de Web Services.
Vou começar criando um projeto Web no Eclipse (com WTP)
(ja foi feito o download do Apache Axis 1.4 anteriormente)
Vou seguir um tutorial interessante que encontrei no site do guj.
http://www.guj.com.br/java.tutorial.artigo.180.1.guj
Entao vamos ver:
So vou fazer algumas coisas diferentes do tutorial pois ja quero ir desenvolvendo no Eclipse.
Primeiro ja copiei todos os jars do apache para o /lib
Depois copiei o conteudo do web.xml que utiliza o recurso do Apache Axis para o web.xml atual da aplicação
Apos criar as classes RecursosHumanos e Empregado vou executar uma linha de comando para geração do WSDL
Ops, vou ter que colocar as classes do Axis no CLASSPATH
Entrar no diretorio bin do projeto (via prompt mesmo)
SET AXIS_HOME=c:/axis-1_4
SET CLASSPATH=%CLASSPATH%;./
SET CLASSPATH=%CLASSPATH%;%AXIS_HOME%/lib/axis.jar
SET CLASSPATH=%CLASSPATH%;%AXIS_HOME%/lib/saaj.jar
SET CLASSPATH=%CLASSPATH%;%AXIS_HOME%/lib/jaxrpc.jar
SET CLASSPATH=%CLASSPATH%;%AXIS_HOME%/lib/commons-logging-1.0.4.jar
SET CLASSPATH=%CLASSPATH%;%AXIS_HOME%/lib/commons-discovery-0.2.jar
SET CLASSPATH=%CLASSPATH%;%AXIS_HOME%/lib/wsdl4j-1.5.1.jar
java org.apache.axis.wsdl.Java2WSDL -o ../config/resource/rh.wsdl -l"http://localhost:8080/ApacheAxis/services/RecursosHumanosWS" -n "urn:RecursosHumanos" rh.RecursosHumanos
deu alguns erros principalmente por causa da localização dos arquivos.
ou seja, vc tem que executar este comando de dentro de um diretorio que contenha os .class das classes….(Dãããã)
WSDL gerado com sucesso
Executar outro programa agora para gerar as classes de orquestração… Este comando deve ser executado da raiz do seu projeto, indicando qual o diretorio dos fontes
java org.apache.axis.wsdl.WSDL2Java -o ./JavaSource -s -S true -Nurn:RecursosHumanos=rh.ws config/resource/rh.wsdl
Apos a geração de todos os arquivos é preciso instanciar o objeto respectivo e repassar para os metodos deste objeto. Este funciona como uma fachada WS para o teu Objeto (RecursosHumanos), detalhe apenas para o objeto de retorno Empregado
Vamos em frente.
Agora é so rodar a ferramenta de publicação de dentro do diretorio raiz do projeto
java org.apache.axis.client.AdminClient -l"http://localhost:8080/ApacheAxis/servlet/AxisServlet" JavaSource/rh/ws/deploy.wsdd
Depois disso é so acessar pelo browser
http://localhost:8080/ApacheAxis/servlet/AxisServlet
Show de bola…se clicar nos links wsdl é apresentado os WSDL de todos os componentes publicados no Servidor.
Vamos la. Próximo passo fazer um client para acessar os WS.
É lembrado no tutorial da importancia da publicação do WSDL, sem ele nao da para saber como/o que chamar o WebService.
Entrar no diretorio raiz é digitar:
java org.apache.axis.wsdl.WSDL2Java http://localhost:8080/ApacheAxis/services/RecursosHumanosWS?wsdl -o ./JavaSource -p rh.ws.cliente
Show de Bola…foi gerado os arquivos e ta tudo rodando elegancia…
No artigo é apresentado um arquivo de teste cliente que funciona perfeitamente.
Ou seja, a produtividade com o ApacheAxis é muito boa.
Utilizando o mesmo Eclipse WTP é possivel criar um WebService a partir de uma classe de negocio. O processo pode utilizar o Apache Axis e o resultado é mais imporessionante ainda. É quase que Next>>Next>>Finish
Enviar por e-mail | Hits para esta publicação: 1170
em 25 de Outubro de 2006 @ 10:18 1.Thiago Alexandre disse:
Cara,
Boa sacada é esse tipo de atitude que está faltando na internet.
Parabens.
Sucesso.