O JAX-RPC é uma API que permite a invocação serviços web definido por um arquivo WSDL. Na sua nova versão foi renomeada para JAX-WS. O motivo da substituição do nome vai além da possível confusão de RPC com Webservices. Os detalhes da mudança do nome você pode encontrar aqui: http://weblogs.java.net/blog/kohlert/archive/2005/05/jaxrpc_20_renam.html
O Netbeans possui um plugin para JAX-WS, mas em alguns casos você pode precisar utilizar a versão antiga (o JAX-RPC) devido ao formato da definição de serviço especificado e ao tentar utilizar no Netbeans você pode receber o seguinte erro:
You must download JAX-RPC support plugin to create a JAX-RPC client
Ao acessar a seção de plugins, o plugin para JAX-RPC não existe. Para instalá-lo é necessário utilizar um update center de desenvolvimento que é construído periodicamente pelo hudson dos projetos do Netbeans. Vamos ao passo a passo. Abra o Netbeans, vá no menu Tools, Plugins, Settings, Add.
No nome coloque: "NetBeans Última Versão de Dev" e na URL coloque: http://deadlock.netbeans.org/hudson/job/nbms-and-javadoc/lastStableBuild/artifact/nbbuild/nbms/updates.xml.gz
Pressione OK. Vá em Available Plugins e selecione JAX-RPC Web Services (que existe agora). Clique em Install. Na próxima tela, clique em Next, concorde com os termos se deseja prosseguir e clique em Install.
Clique em Finish e Close. Crie um novo projeto Java. No novo projeto criado, clique com o botão direito, New, Other, Web Services, Web Service Client, Next. Selecione o WSDL, informe o pacote e clique em Finish. Aguarde alguns segundos e as classes geradas ficarão disponíveis em Generated Sources (jax-rpc).
Aí é só criar um classe Java para utilizar o que foi criado. Se você quiser pode testar o serviço acessando o nó Web Service References na aba Projects.
Ou alterar as propriedades do cliente de Web Service criado:
[...] This post was mentioned on Twitter by open4education and Cantinho do Agile, Thiago G. Vespa. Thiago G. Vespa said: Novo post: Client JAX-RPC no Netbeans 6.9 http://j.mp/aCelRM [...]
Estava fuçando na net procurando exatamente isso para implementar uma função que envia um arquivo para um Web Services tendo um retorno se o arquivo é valido ou não. Já estava sem esperanças até chegar a seu site. Muito massa, fiz todo esse procedimento e já estou vendo as opçoes do Web Services, tando de envio de arquivo com outras tambem apareceram, o problema é que não sei como usa-las. Você não poderia postar um exemplo de uma classe para usar o que foi criado? Tambem não conseguir testar o serviço acessando o nó Web Service References.
Estou usando Java SE (Swing), será que só posso usar Web Services em projetos Java Web?
Obs: Tenho a Solução em Deplhi mas estou precisando fazer isso em uma aplicação Java Swing.
Agradeço qq ajuda. vlw
Estou na mesma que o Moisés, porém tenho um WS em Delphi e preciso acessar esses serviços de um projeto Web Padrão.
O segredo é instanciar a classe do proxy/client e invocar o método desejado. Vocês tem algum WSDL pra que eu possa fazer um exemplo?
Tiago, seu post ajudou muito. Obrigado!!!
Agora tenho um problema adicional. Por exemplo, o código abaixo funciona na primeira vez, mas quando faço qualquer alteração o parâmetro "name" é ignorado, mesmo que eu reinicie o servidor, gere o wsds novamente, faça undeploy/deploy, etc. Alguma sugestão?
package axishello;
public class HelloWS
{
public String hello(String name)
{
return "Hello "+name;
}
}
oi Thiago!
Antes de mais nada agradeço as informações que você já nos deu no artigo. Eu já havia criado um cliente webservice usando o JAX-WS, mas agora que preciso acessar um webservice com JAX-RPC não estou conseguindo avançar. Uso o Netbeans 6.9 e já instalei o plugin de JAX-RPC, conforme você diz no artigo. Não estou sabendo instanciar as classes que foram geradas pelo plugin para fazer a chamada do webservice.
O webservice que eu estou precisando acessar é https://ws1.smartscore.com.br/dbiws.dll/wsdl/IDBIws e eu baixei o arquivo WSDL para gerar o cliente a partir do arquivo local. Qual classe gerada eu devo instanciar para chamar o webservice?
Buenas!
O post poderia ser um pouco mais aprofundado, mostrando um exemplo de implementação a partir do código gerado. Para quem não sabe por onde começar, utilize a classe com final "_Impl" e chame o método que retorna a port/proxy.
Além disso, acho que o plugin está com um bug pois ocorre erro ao testar uma operação:
webservice/AtualizadorwsdlClient : Unsupported major.minor version 51.0
HA!!! Obrigado!
Estava tentando achar esse puglin desde ontem!!!