***
There are two possible approaches when creating a web service: Contract-Last and [Contract-First](https://docs.spring.io/spring-ws/sites/1.5/reference/html/why-contract-first.html). When we use a contract-last approach, we start with the Java code and generate the web service contract [[What WSDL is | (WSDL)]] from the classes. When using contract-first, **we start with the WSDL contract, from which we generate the Java classes.**
***
**References**:
- [Creating a SOAP Web Service with Spring](https://www.baeldung.com/spring-boot-soap-web-service)