Skip to content

An E-Commerce web service that supports both REST and the SOAP protocol. Created using the Jersey implementation of JAX-RS, the Metro implementation of JAX-WS, and Tomcat 10.

Notifications You must be signed in to change notification settings

MahmoudFawzyKhalil/rest-soap-ecommerce-web-service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 

Repository files navigation

JAX-RS and JAX-WS REST and SOAP E-Commerce Web Service

An E-Commerce RESTful and SOAP web service built using JAX-RS and JAX-WS.

🏛 Architecture

This software project was built using a layered architecture. The two APIs are different presentations of the same core service layer. image

📃 Documentation

📧Postman RESTful API Docs

🧼SOAP-UI project

📦 Features

  • Filtering
  • Partial response using reflection
  • Pagination
  • HATEOAS
  • Custom ExceptionMappers
  • Content negotiation (support for both XML and JSON payloads and responses)
  • SOAP 1.2

⚙ Technologies used

  • JAX-RS (Jersey)
  • JAX-WS (Metro)
  • JSON-B
  • JAX-B
  • Maven
  • Tomcat
  • Intellij IDEA Ultimate
  • Postman
  • SOAP-UI

🛠 Run with Maven

Maven

  • Change the configuration of Tomcat in pom.xml.
  • Deploy the application using the following maven command:
mvn clean compile tomcat7:redeploy
  • REST: change the {{host}} variable in the Postman collection environment variables to match the port you chose for your Tomcat deployment
  • SOAP: import the project into SOAP UI

MySQL

  • Create a database schema and provide the username and password in the persistence.xml
  • Hibernate will automatically create the tables for you
  • Run DatabasePopulator.java to populate the database with some test data

👷‍♂️ Contributors

About

An E-Commerce web service that supports both REST and the SOAP protocol. Created using the Jersey implementation of JAX-RS, the Metro implementation of JAX-WS, and Tomcat 10.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages