Webservice basico

10 respostas
M

Bom dia a todos.
Comecei esta semana o estudo de integração de sistemas com webservices, Vi que podemos desenvolver com jax-ws e com Axis e outros.
Estou começando como acho que boa parte dos novatos começam : apache-tomcat eclipse\Indigo jdk7.
Ja tenho algumas duvidas porque escolher entre um e outro ( jax-ws e axis2 ) por exemplo. Sendo que o segundo ate consegui criar um exemplo facil, ja no primeiro (jax-ws) que sofrimento e nao consegui.
Conheco java de um curso qeu fz na caelum (bom por sinal). E agora estou voltando.

se puderem me indicar um material fico a gradecido.

Bom domingo a todos

10 Respostas

Alexandre_Saudate

Lá vou eu fazer autopropaganda de novo:

http://www.casadocodigo.com.br/products/livro-soa-webservices

(Vai te ensinar a fazer serviços com JAX-WS bem fácil e bem rápido. Como bônus, você vai perceber porque usar Axis2 é fria).

[]'s

M

Alexandre obrigado pela sua resposta

Eu ja comprei o livro, e tentei varias vezes mas nao consegui passar do primeiro capitulo. nao consegui publicar.
Parabens pelo livro.
nao consegui fazer o wsgen funcionar. da o seguinte erro :

warning: The apt tool and its associated API are planned to be
removed in the next major JDK release. These features have been
superseded by javac and the standardized annotation processing API,
javax.annotation.processing and javax.lang.model. Users are
recommended to migrate to the annotation processing features of
javac; see the javac man page for more information.

luiz_renato

Saudate,

Tenho pouca experiência com webservices e pretendo comprar o seu livro.

Mas porque axis2 é uma fria?

Alexandre_Saudate

maaupe:
Alexandre obrigado pela sua resposta

Eu ja comprei o livro, e tentei varias vezes mas nao consegui passar do primeiro capitulo. nao consegui publicar.
Parabens pelo livro.
nao consegui fazer o wsgen funcionar. da o seguinte erro :

warning: The apt tool and its associated API are planned to be
removed in the next major JDK release. These features have been
superseded by javac and the standardized annotation processing API,
javax.annotation.processing and javax.lang.model. Users are
recommended to migrate to the annotation processing features of
javac; see the javac man page for more information.

Bom, na verdade, o livro não usa o wsgen, mas sim o wsimport. Porque não posta sua dúvida no fórum específico do livro, para que eu possa esclarecer melhor? O link é https://groups.google.com/forum/?fromgroups=#!forum/soa-aplicado

[]'s

Alexandre_Saudate

luiz_renato:
Saudate,

Tenho pouca experiência com webservices e pretendo comprar o seu livro.

Mas porque axis2 é uma fria?

  1. Não segue os padrões JAX-WS
  2. Nenhum Application Server utiliza
  3. A Apache possui o CXF, que deve ser preferido.
  4. O Axis2 possui muitos bugs (só olhar no Jira do mesmo).

[]'s

M

Alexandre, tem razao o livro nao fala de wsgen e o wsimport e para gerar o client.

eu fiz tudo como esta no livro e da o seguinte :

type Status report
message /Livros
description The requested resource (/Livros) is not available.

Como saber se o servico esta ativo ?

ele usa o tomcat como servidor ?
meu ambiente :
windows
tomcat
eclipse

Obrigado pela Ajuda

Alexandre_Saudate

No capítulo 1, o web service é completamente standalone. Basta você rodar o método main da classe ListagemLivros e pronto, o serviço está no ar.

[]'s

M

Alexandre, estou rodando a classe com o methodo ListagemLivros da o erro
como sai no eclipse :
http://localhost:13113/Estoque/WEB-INF/classes/com/knight/estoque/servicos/ListagemLivros.java

type status report

message

description : the request resource () is no available

tem que fazer algum xml (web.xml) jax-ws;xml ?
tem alguma configuração no projeto (dynamic web project)

Obrigado pela paciência e boa noite…

Alexandre_Saudate

maaupe:
Alexandre, estou rodando a classe com o methodo ListagemLivros da o erro
como sai no eclipse :
http://localhost:13113/Estoque/WEB-INF/classes/com/knight/estoque/servicos/ListagemLivros.java

type status report

message

description : the request resource () is no available

tem que fazer algum xml (web.xml) jax-ws;xml ?
tem alguma configuração no projeto (dynamic web project)

Obrigado pela paciência e boa noite…

Opa…

Então, não precisa de nenhum Application Server. Esta classe que eu passei, ListagemLivros, é uma classe Java SE. Você não precisa configurar o projeto como web no eclipse, nem nada disso. Você executa a classe normalmente, como se fosse um programa Desktop, por exemplo. Se você ler o método main, vai reparar que a primeira linha é a seguinte:

Endpoint.publish("http://localhost:8080/livros", new ListagemLivros());

Isso vai criar um servidor HTTP e publicar esse web service no endereço http://localhost:8080/livros . Execute a classe normalmente e acesse http://localhost:8080/livros?wsdl para conferir o WSDL do serviço.

Bom, espero que tenha ajudado. Qualquer coisa, só falar.

[]'s

M

Alexandre muito obrigado pela ajuda. foi so criar o projeto como java project e Rodar a classe ListagemLivros que funcionou direitinho.

[]'s

Criado 17 de março de 2013
Ultima resposta 19 de mar. de 2013
Respostas 10
Participantes 3