Web Service - Criar cliente através do WSDL2Java

8 respostas
A

Boa noite pessoal.

Estou estudando sobre Web Services, utilizando o TomCat-6.0.18, Axis-1_4 e Xerces-2.9.0. Hoje quando tentava realizar a minha primeira implementação, eu travei na parte de geração do cliente, utilizando o WSDL2Java. O que ocorre é que no momento que eu realizo o comando " [b]java org.apache.axis.wsdl.WSDL2Java http://localhost:8080/axis/Hello.jws?wsdl[/b] " no prompt de comando, aparece a seguinte mensagem de erro: " [b]Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/axis/wsdl/WSDL2Java[/b] ".
 Abaixo seguem informações da minha máquina:
*Diretórios

- Diretório do Tomcat: (C:\Arquivos de programas\Tomcat 6.0);

- Diretório do Axis: (C:\axis);

- Diretório do Axis no Tomcat: (C:\Arquivos de programas\Tomcat 6.0\webapps\axis).
*Variáveis de ambiente

- AXIS_CLASSPATH: %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%\wsdl4j-1.5.1.jar;

%AXIS_LIB%\xml-apis.jar;

%AXIS_LIB%\xercesImpl.jar
- AXIS_HOME: C:\axis

 - AXIS_LIB: %AXIS_HOME%\lib

 - CATALINA_HOME: C:\Arquivos de programas\Tomcat 6.0

 - JAVA_HOME: C:\Arquivos de programas\Java\jdk1.6.0_03

 - J2EE_HOME: C:\Arquivos de programas\Java\j2ee1.4sdk

 - CLASSPATH: .;%JAVA_HOME%\lib\tools.jar;
                      %CATALINA_HOME%\lib\servlet-api.jar;
                      %CATALINA_HOME%\lib\jsp-api.jar; 
                      C:\axis\lib

 - Path: %JAVA_HOME%\bin;
            %J2EE_HOME%\bin;
            %CATALINA_HOME%\bin;
            %AXIS_CLASSPATH%

Obs: O comando do WSDL2Java, eu executei dentro do seguinte diretório: “C:\Arquivos de programas\Tomcat 6.0\webapps\axis\WEB-INF\lib”.

A base para os meus estudos está sendo uma própria apostila do GUJ, cujo autor é o Agostinho Campos Neto. [b]Fonte:[/b] ([i]http://www.guj.com.br/content/articles/webservices/ws.pdf[/i]).

Agradeço desde já pela sua preciosa ajuda. :smiley:

Muito obrigado!

8 Respostas

M

isso ta parecendo que ele não tá encontrando o comando do Axis…

vc já tentou com a task do ant?

A

Bom dia mrcastro.

Estou começando a estudar a parte Web de Java agora, e como eu havia informado, eu apenas segui uma série de instruções contidas na apostila mencionada. Como eu poderia testar através da task do ant? E porque ele poderia não estar encontrando esse comando do Axis, seria a falta de alguma biblioteca?

Muito grato pela sua atenção. :smiley:

Obrigado!

C

Tenta rodar o wsdl2java.bat direto (ele está dentro do seu AXIS_HOME/bin)

A

Bom dia Caike.

Dei uma olhada na minha pasta do Axis e verifiquei que nela não contém esta pasta “bin”, muito menos o arquivo “wsdl2java.bat”. Deveria conter?

Os arquivos contidos são:

No diretório C:\axis

  • docs
  • lib
  • samples
  • src
  • test
  • tools
  • webapps
  • xmls
  • build.xml
  • buildSamples.xml
  • buildTest.xml
  • changelog.html
  • LICENSE
  • NOTICE
  • README
  • release-notes.html
  • tcpmon.xml

No diretório C:\Arquivos de programas\Tomcat 6.0\webapps\axis

  • WEB-INF
  • fingerprint.jsp
  • Hello.jws
  • index.html
  • SOAPMonitorApplet.java
  • EchoHeaders.jws
  • happyaxis.jsp
  • i18nLib.jsp
  • index.jsp
  • StockQuoteService.jws

No diretório C:\Arquivos de programas\Tomcat 6.0\webapps\axis\WEB-INF

  • attachments
  • jwsClasses
  • classes
  • lib
  • web.xml
  • users.lst

Seguem anexas imagens dos diretórios.

Muito obrigado.






C

Provavelmente você baixou o source code do projeto.
Baixa o ‘Standard Binary Distribution’ aqui: http://ws.apache.org/axis2/download/1_4_1/download.cgi

A

Bom, baixei essa outra versão do Axis, substitui as pastas já existentes pelas novas obtidas. Tentei executar diretamente o arquivo “wsdl2java.bat” e também tentei realizar o procedimento que eu tentava anteriormente, porém nenhum dos dois deu certo, continua ocorrendo o mesmo erro.

No aguardo de uma nova ajuda.

Muito obrigado.

H

executa no console
Ex.:

C:\WEBSERVICES\axis\bin>wsdl2java -uri http://127.0.0.1:8080/axis/Hello.jws?wsdl

P

(só para manter o post mais completo)

Evitem um excesso de variaveis e as vezes, ser específico como nosso amigo pode ser o problema.
Uma configuração mais simples seria:
(to usando o 2 por ser a versão atual no momento, na época do post sera apenas AXIS)

AXIS2_HOME = C:\Java\axis2-1.5.3

PATH = %AXIS2_HOME%\lib;%AXIS2_HOME%\bin;…

(Os três pontos no fim do path seriam as outras variaveis que já estavam lá, por favor não use os 3 pontos quando for configurar)

No exemplo acima estou apontando para o path para a pasta LIB e BIN do AXIS2, onde estão todas bibliotecas e executáveis necessários. Feito isso é só ir na linha de comando e ver se o comando WSDL2Java é reconhecido.

Fui!

Criado 15 de outubro de 2008
Ultima resposta 16 de dez. de 2010
Respostas 8
Participantes 5