Consumir WebService | Java

Bom dia pessoal.

Estou com problema para entender exatamente o que é um WebService e como consumir um.
Resolvendo isso tenho um outro problema, como fazer isso em Java?
Preciso desenvolver um sistema em Java mesmo, como projeto de estágio e talvez até pré-projeto na faculdade.

A ideia desse sistema é a seguinte:

  • Desenvolver um sistema Java que, utilizando um WebService, possa se comunicar com o sistema da Receita, para fazer consultas em status de NFe;
    • Esse sistema irá conter uma tela de login(Fácil fazer) para que somente usuários autorizados tenham acesso;
    • Uma vez dentro do sistema, o usuário irá anexar um arquivo XML(o XML da nota), e clicar em pesquisar/consultar;
    • Após isso o sistema irá se comunicar com o sistema da Receita e irá retornar o status da nota na tela; Ex.: Cancelada, Aprovada, Emitida;
    • O certificado utilizado será o A1;
    • Esse sistema inicialmente irá rodar em plataforma Windows como forma de teste, mas será implementado em Linux para conexão com sistema Cobol, essa parte meu encarregado irá resolver;

Enfim essa é somente a ideia inicial do que o sistema deve fazer.
Dei uma pesquisada no que é um WebService e como consumir, porém ainda não entendi como funciona e não sei por onde começar exatamente.

Se alguém que entende do assunto puder me ajudar.
Desde já agradeço a todos que puderem.

Bom dia,

Nesse forum voce consegue fazer o que precisa seguindo os tutorias dele.

Bom dia amigo.

Exitem colegas aqui no GUJ que obteram seus graus de PhD no assunto.

A grosso modo, cliente e serviço se comunicam através de uma linguagem chamada WSDL (Web Services Descript Language), que nada mais é do que XML.

Existem API´s que oferecem um aumento substancial na produtividade do desenvolvedor, claro, é importante entender como é feita a comunicação mais a fundo.

Por exemplo, a Apache https://axis.apache.org/axis2/java/core/tools/eclipse/wsdl2java-plugin.html

Esse cara te permite gerar os STUB’s, ele gera TODO o client (classes Java) através do WSDL do serviço:

http://www.coderanch.com/t/443307/Web-Services/java/Stub-Skeleton

Tem o famigerado JAX WS também: https://en.wikipedia.org/wiki/Java_API_for_XML_Web_Services

Te permite criar um serviço utilizando anotações:

@WebService
@WebMethod

Etc…

Concluindo, aqui na minha empresa, utilizamos o basico do basico dessas duas API’s e lembre-se livros e mais livros foram escritos acerca do assunto.

O Alexandre Saudate possui um grande acervo aqui na comunidade, dentro tantos outros.

Muito obrigado. Irei conferir essas APIs.

Amigo no meu blog tem varios tutorias práticos, abaixo segue o link, ve se pode ajudar.

http://www.ciceroednilson.com.br

Abraços