/spring-ws-and-boot

Exemplo de uso de Spring Boot com Spring WS e Messageria

Primary LanguageJava

spring-ws-and-boot

Exemplo de uso de Spring Boot com Spring WS e Messageria.

Baseado na documentação do produto e evoluindo para uma POC temática de um projeto real e outros sites:

Objetivo: Fluxo onde um Parceiro envia um Processo Eletrônico com ids de Documento que preciso buscar em outro momento. Em um determinado momento eu envio um Movimento relacionado a um Processo Eletrônico recebido e o Parceiro busca Documentos que informei.

OBS.: Deve rodar com JDK 7 ou 8 (Spring Web Services requires a standard Java 7 Runtime Environment. Java 8 is also supported). Algumas classes de manipulação/parse de XML (javax.activation) foram removidas do "core" da linguagem. Achei este problema rodando com Java 10.x.

Executando:

  1. Rodar mvn clean compile para gerar as classes a partir do XSD.
  2. Rodar classe Application
  3. Acessar http://localhost:8080/processoEletronicoService/contrato.wsdl para ver o WSDL
  4. Com um client, enviar mensagem para o serviço (existe um projeto SoapUI pronto no fonte para isso).

Resultado Esperado:

  1. Exibir em logs no console mensagens indicando o recebimento e tratamento do Processo Eletrônico onde para cada Documento enviado uma mensagem na fila é colocada para ir "buscá-lo" no serviço do Parceiro.

Roadmap:

  1. Implementar testes.
  2. Implementar Mock Client do Parceiro.
  3. Implementar Endpoint do Parceiro já com testes.
  4. Implementar Mock Client da Minha Empresa.

Referências avaliadas:

  1. https://docs.spring.io/spring-ws/docs/3.0.6.RELEASE/reference/#overview

  2. https://howtodoinjava.com/spring-boot/spring-boot-soap-webservice-example/

  3. https://spring.io/guides/gs/producing-web-service/

  4. https://spring.io/guides/gs/messaging-jms/

  5. https://www.baeldung.com/spring-jms

  6. https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-messaging.html

  7. https://examples.javacodegeeks.com/enterprise-java/jms/java-jms-helloworld-on-jboss-example/

  8. https://codenotfound.com/spring-jms-tutorials