Estou iniciando os meus estudos com o JAX-WS e fiz uma classe server da seguinte forma:
package br.com.teste.ws;
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService
public class TesteWS {
@WebMethod
public String teste(){
return "Funciona Funciona";
}
}
Fiz uma classe para publicar o serviço:
package br.com.teste.ws;
import javax.xml.ws.Endpoint;
public class TestePublisher {
public static void main(String[] args) {
TesteWS service = new TesteWS();
Endpoint.publish("http://172.22.5.124:9090/teste", service);
}
}
Mas quando eu tento rodar o camando para gerar as outras classes não funciona:
Já coloquei as configurações no Path, mas o comando não é identificado.
Segue o meu PATH:
ALLUSERSPROFILE=C:\Documents and Settings\All Users
APPDATA=C:\Documents and Settings\warley.mendes\Dados de aplicativos
CLASSPATH=.;JAVA_HOME;D:\aplicacao\java\jaxws-ri\lib
CLIENTNAME=Console
CommonProgramFiles=C:\Arquivos de programas\Arquivos comuns
COMPUTERNAME=COC-RDDS45577
ComSpec=C:\WINDOWS\system32\cmd.exe
EMC_AUTOPLAY=C:\Arquivos de programas\Arquivos comuns\Roxio Shared
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Documents and Settings\warley.mendes
JAVA_HOME=C:\Arquivos de programas\Java\jdk1.6.0_17
LOGONSERVER=\SERV20
NUMBER_OF_PROCESSORS=4
OS=Windows_NT
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;c:\Arquivos de prog
ramas\Arquivos comuns\Lenovo;C:\Arquivos de programas\Arquivos comuns\Roxio Shar
ed\10.0\DLLShared;C:\Arquivos de programas\Arquivos comuns\Roxio Shared\DLLShar
ed;C:\Arquivos de programas\Arquivos comuns\Roxio Shared\DLLShared;C:\Arquivos
de programas\Arquivos comuns\Roxio Shared\10.0\DLLShared;C:\Arquivos de progra
mas\jZip;C:\Arquivos de programas\Microsoft SQL Server\80\Tools\BINN;C:\Arquivos
de programas\Java\jdk1.6.0_17\bin;D:\aplicacao\java\jaxws-ri\lib\jaxws-api.jar; D:\aplicacao\java\jaxws-ri\bin PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
vinicius.martinez obrigado pela ajuda. Agora posso continuar os meus estudo!
Mas antes eu vou postar a solução:
1 - Baixe no site https://jax-ws.dev.java.net/ o jar do JAX-WS. Como eu não estou usando (ainda) JEE5 eu baixei a versão JAXWS2.1.7-20090419.jar.
2 - No CMD (do DOS) digite o seguinte comando para executar o jar:
3 - Ao executar a pasta jaxws-ri será criada
4 - Vá no endereço JAVA_HOME\jre\lib e crie a uma pasta com neste nome: endorsed
5 - O nome TEM ser endorsed, senão não funciona!
6 - Copie para a pasta endorsed as lib encontradas em {Caminho onde está a pasta foi descompactada}\jaxws-ri\lib
7 - Nas variáveis do Windows, adicione na variável Path = {Caminho onde está a pasta foi descompactada}\jaxws-ri\bin
Exemplo do meu micro:%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;c:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\QuickTime\QTSystem\;C:\downloads\java\jaxws-ri\bin. Repare a ultima linha C:\downloads\java\jaxws-ri\bin
8 - REINICIE O COMPUTADOR, para que as configurações possam funcionar.
9 - Crie o código que eu coloquei no início do post.
10 - No CMD rode o seguinte comando:
11 - Repare que no CMD eu estou no diretório onde os arquivos .class estão.
12 - Será gerado uma pasta com o nome jaxws e dentro dela tb serão gerados dois arquivos: RetornaTeste.class e RetornaTesteResponse.class
13 - Rode a classe de TestePublisher, no meu caso estou rodando no Eclipse.
14 - Faça um teste no seu navegador: http://localhost:8080/oi?wsdl
15 - Deve aparece um xml e isto significa que a jaca funcionada!
16 - Caso não funcione leia este tutorial http://www.seducaotecnologica.com.br/tutorial-soa-passo-a-passo-1/ e refaça os passo que eu postei.