diff --git a/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/controller/AuthenticatorController.java b/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/controller/AuthenticatorController.java
index a2eb5d5005e3713e397e49c90c77bc19d045074b..230fefee7aaffb31960ba57c894c12d7975aacbf 100644
--- a/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/controller/AuthenticatorController.java
+++ b/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/controller/AuthenticatorController.java
@@ -16,8 +16,7 @@ public class AuthenticatorController {
     private final AuthenticatorService service;
 
     @PostMapping
-    @ResponseStatus(HttpStatus.OK)
-    public Client authenticate(@RequestBody CredentialsMessage credentials) throws AuthException {
+    public Client authenticate(@RequestBody CredentialsMessage credentials) {
         return service.authenticate(credentials.getNumber(), credentials.getPassword());
     }
 }
diff --git a/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/exception/BadRequestException.java b/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/exception/BadRequestException.java
new file mode 100644
index 0000000000000000000000000000000000000000..09b5277c696bcd03b93f638816b95389c752a446
--- /dev/null
+++ b/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/exception/BadRequestException.java
@@ -0,0 +1,12 @@
+package br.ufrn.imd.authenticator.exception;
+
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.ResponseStatus;
+
+@ResponseStatus(HttpStatus.BAD_REQUEST)
+public class BadRequestException extends RuntimeException{
+
+    public BadRequestException(String message) {
+        super(message);
+    }
+}
diff --git a/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/exception/BadRequestExceptionDetails.java b/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/exception/BadRequestExceptionDetails.java
new file mode 100644
index 0000000000000000000000000000000000000000..99b5002b9980b4396aebb550a70780ce8a417932
--- /dev/null
+++ b/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/exception/BadRequestExceptionDetails.java
@@ -0,0 +1,16 @@
+package br.ufrn.imd.authenticator.exception;
+
+import lombok.Builder;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Data
+@Builder
+public class BadRequestExceptionDetails {
+    private String title;
+    private int status;
+    private String details;
+    private String developerMessage;
+    private LocalDateTime timestamp;
+}
diff --git a/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/exception/RestExceptionHandler.java b/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/exception/RestExceptionHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..e714d99f4b34bd34d79f9e23e95b6f7f7db40b05
--- /dev/null
+++ b/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/exception/RestExceptionHandler.java
@@ -0,0 +1,24 @@
+package br.ufrn.imd.authenticator.exception;
+
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.ControllerAdvice;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+
+import java.time.LocalDateTime;
+
+@ControllerAdvice
+public class RestExceptionHandler {
+    @ExceptionHandler(BadRequestException.class)
+    public ResponseEntity<BadRequestExceptionDetails> handlerBadRequestException(BadRequestException bre) {
+        return new ResponseEntity<>(
+          BadRequestExceptionDetails.builder()
+                  .timestamp(LocalDateTime.now())
+                  .status(HttpStatus.BAD_REQUEST.value())
+                  .title("Bad Request Exception")
+                  .details(bre.getMessage())
+                  .developerMessage(bre.getClass().getName())
+                  .build(), HttpStatus.BAD_REQUEST
+        );
+    }
+}
diff --git a/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/service/AuthenticatorService.java b/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/service/AuthenticatorService.java
index e5e13364ed678efeee54dbe159ce01b58a88f69b..12d2df82118c68182c45d9cc9355e890d45a3f20 100644
--- a/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/service/AuthenticatorService.java
+++ b/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/service/AuthenticatorService.java
@@ -1,6 +1,7 @@
 package br.ufrn.imd.authenticator.service;
 
 import br.ufrn.imd.authenticator.domain.Client;
+import br.ufrn.imd.authenticator.exception.BadRequestException;
 import br.ufrn.imd.authenticator.repository.ClientRepository;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.java.Log;
@@ -15,13 +16,13 @@ import javax.security.auth.message.AuthException;
 public class AuthenticatorService {
     private final ClientRepository clientRepository;
 
-    public Client authenticate(String accountNumber, String password) throws AuthException {
+    public Client authenticate(String accountNumber, String password) {
         Client client = clientRepository.findByAccountNumber(accountNumber)
-                .orElseThrow(() -> new RuntimeException(
+                .orElseThrow(() -> new BadRequestException(
                         String.format("Customer not found with account number %s", accountNumber)));
 
         if(!new BCryptPasswordEncoder().matches(password, client.getAccount().getPassword())) {
-            throw new AuthException("Bad credentials");
+            throw new BadRequestException("Bad credentials");
         }
 
         log.info(client.getName() + " logged in (account number: " + client.getAccount().getNumber() + ")");
diff --git a/WebServices/balance/src/main/java/br/ufrn/imd/balance/exception/BadRequestException.java b/WebServices/balance/src/main/java/br/ufrn/imd/balance/exception/BadRequestException.java
new file mode 100644
index 0000000000000000000000000000000000000000..e5045a33fc88da110d9b0a36bdbcfe8ded387974
--- /dev/null
+++ b/WebServices/balance/src/main/java/br/ufrn/imd/balance/exception/BadRequestException.java
@@ -0,0 +1,12 @@
+package br.ufrn.imd.balance.exception;
+
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.ResponseStatus;
+
+@ResponseStatus(HttpStatus.BAD_REQUEST)
+public class BadRequestException extends RuntimeException{
+
+    public BadRequestException(String message) {
+        super(message);
+    }
+}
diff --git a/WebServices/balance/src/main/java/br/ufrn/imd/balance/exception/BadRequestExceptionDetails.java b/WebServices/balance/src/main/java/br/ufrn/imd/balance/exception/BadRequestExceptionDetails.java
new file mode 100644
index 0000000000000000000000000000000000000000..da6cf5c88148c93556fb440e7ad8cc099c3c7c54
--- /dev/null
+++ b/WebServices/balance/src/main/java/br/ufrn/imd/balance/exception/BadRequestExceptionDetails.java
@@ -0,0 +1,16 @@
+package br.ufrn.imd.balance.exception;
+
+import lombok.Builder;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Data
+@Builder
+public class BadRequestExceptionDetails {
+    private String title;
+    private int status;
+    private String details;
+    private String developerMessage;
+    private LocalDateTime timestamp;
+}
diff --git a/WebServices/balance/src/main/java/br/ufrn/imd/balance/exception/RestExceptionHandler.java b/WebServices/balance/src/main/java/br/ufrn/imd/balance/exception/RestExceptionHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..706ae7ddcf08250cfd6d4ae976dca903df403491
--- /dev/null
+++ b/WebServices/balance/src/main/java/br/ufrn/imd/balance/exception/RestExceptionHandler.java
@@ -0,0 +1,24 @@
+package br.ufrn.imd.balance.exception;
+
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.ControllerAdvice;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+
+import java.time.LocalDateTime;
+
+@ControllerAdvice
+public class RestExceptionHandler {
+    @ExceptionHandler(BadRequestException.class)
+    public ResponseEntity<BadRequestExceptionDetails> handlerBadRequestException(BadRequestException bre) {
+        return new ResponseEntity<>(
+          BadRequestExceptionDetails.builder()
+                  .timestamp(LocalDateTime.now())
+                  .status(HttpStatus.BAD_REQUEST.value())
+                  .title("Bad Request Exception")
+                  .details(bre.getMessage())
+                  .developerMessage(bre.getClass().getName())
+                  .build(), HttpStatus.BAD_REQUEST
+        );
+    }
+}
diff --git a/WebServices/balance/src/main/java/br/ufrn/imd/balance/service/BalanceService.java b/WebServices/balance/src/main/java/br/ufrn/imd/balance/service/BalanceService.java
index f4ccd0730f1eea86c5868672542b660d5b095a53..483dcdef420e63813ba28d5f35f28d5ed2c3eabf 100644
--- a/WebServices/balance/src/main/java/br/ufrn/imd/balance/service/BalanceService.java
+++ b/WebServices/balance/src/main/java/br/ufrn/imd/balance/service/BalanceService.java
@@ -2,25 +2,26 @@ package br.ufrn.imd.balance.service;
 
 import br.ufrn.imd.balance.domain.Account;
 import br.ufrn.imd.balance.domain.Client;
+import br.ufrn.imd.balance.exception.BadRequestException;
 import br.ufrn.imd.balance.repository.ClientRepository;
 import lombok.AllArgsConstructor;
+import lombok.RequiredArgsConstructor;
 import lombok.extern.java.Log;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 @Log
-@AllArgsConstructor
 @Service
+@RequiredArgsConstructor
 public class BalanceService {
-    @Autowired
     private final ClientRepository clientRepository;
 
     public Client balance(Client client) {
-        client = clientRepository.findById(client.getId())
-                .orElseThrow(() -> new RuntimeException("Invalid user!"));
+        Client persistedClient = clientRepository.findById(client.getId())
+                .orElseThrow(() -> new BadRequestException("Invalid user!"));
         Account account = client.getAccount();
         log.info(String.format("Account Balance: R$ %.2f", account.getBalance()));
 
-        return client;
+        return persistedClient;
     }
 }
diff --git a/WebServices/balance/target/classes/br/ufrn/imd/balance/service/BalanceService.class b/WebServices/balance/target/classes/br/ufrn/imd/balance/service/BalanceService.class
index 024f7cfd65e02a5b76b37a900ac69cee13c4af8a..c37642519138f67e0c38cc3734d64b48c577bff3 100644
Binary files a/WebServices/balance/target/classes/br/ufrn/imd/balance/service/BalanceService.class and b/WebServices/balance/target/classes/br/ufrn/imd/balance/service/BalanceService.class differ
diff --git a/WebServices/balance/target/maven-archiver/pom.properties b/WebServices/balance/target/maven-archiver/pom.properties
index 9c45c41d2c312d08c4537905879c7e190686aedc..88dc348660793f2cf4e9a89eaa2b23f4f164ed77 100644
--- a/WebServices/balance/target/maven-archiver/pom.properties
+++ b/WebServices/balance/target/maven-archiver/pom.properties
@@ -1,4 +1,4 @@
-#Created by Apache Maven 3.8.4
+#Created by Apache Maven 3.6.3
 groupId=br.ufrn.imd
 artifactId=balance
 version=0.0.1-SNAPSHOT
diff --git a/WebServices/balance/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/WebServices/balance/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
index 91cc13fb4a4e7beab1f0d137f24342fcaeca127b..3ff1a9befc86b29ddc909013c2250e176ff03402 100644
--- a/WebServices/balance/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
+++ b/WebServices/balance/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -1,6 +1,10 @@
-br\ufrn\imd\balance\BalanceApplication.class
-br\ufrn\imd\balance\controller\BalanceController.class
-br\ufrn\imd\balance\domain\Account.class
-br\ufrn\imd\balance\domain\Client.class
-br\ufrn\imd\balance\repository\ClientRepository.class
-br\ufrn\imd\balance\service\BalanceService.class
+br/ufrn/imd/balance/domain/Account.class
+br/ufrn/imd/balance/exception/RestExceptionHandler.class
+br/ufrn/imd/balance/controller/BalanceController.class
+br/ufrn/imd/balance/exception/BadRequestExceptionDetails$BadRequestExceptionDetailsBuilder.class
+br/ufrn/imd/balance/repository/ClientRepository.class
+br/ufrn/imd/balance/domain/Client.class
+br/ufrn/imd/balance/exception/BadRequestExceptionDetails.class
+br/ufrn/imd/balance/BalanceApplication.class
+br/ufrn/imd/balance/service/BalanceService.class
+br/ufrn/imd/balance/exception/BadRequestException.class
diff --git a/WebServices/balance/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/WebServices/balance/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
index 0f689c38a32a18d60c63d4a2cbd2de8863b19d36..e8c1a7b20638fb3932b72e7863e8f3aa8dd045ac 100644
--- a/WebServices/balance/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
+++ b/WebServices/balance/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -1,6 +1,9 @@
-C:\Users\maria\Documents\Projetos\dim0614\WebServices\balance\src\main\java\br\ufrn\imd\balance\repository\ClientRepository.java
-C:\Users\maria\Documents\Projetos\dim0614\WebServices\balance\src\main\java\br\ufrn\imd\balance\controller\BalanceController.java
-C:\Users\maria\Documents\Projetos\dim0614\WebServices\balance\src\main\java\br\ufrn\imd\balance\BalanceApplication.java
-C:\Users\maria\Documents\Projetos\dim0614\WebServices\balance\src\main\java\br\ufrn\imd\balance\service\BalanceService.java
-C:\Users\maria\Documents\Projetos\dim0614\WebServices\balance\src\main\java\br\ufrn\imd\balance\domain\Account.java
-C:\Users\maria\Documents\Projetos\dim0614\WebServices\balance\src\main\java\br\ufrn\imd\balance\domain\Client.java
+/home/ff/code/IMD-AULAS/dim0614/WebServices/balance/src/main/java/br/ufrn/imd/balance/BalanceApplication.java
+/home/ff/code/IMD-AULAS/dim0614/WebServices/balance/src/main/java/br/ufrn/imd/balance/exception/RestExceptionHandler.java
+/home/ff/code/IMD-AULAS/dim0614/WebServices/balance/src/main/java/br/ufrn/imd/balance/controller/BalanceController.java
+/home/ff/code/IMD-AULAS/dim0614/WebServices/balance/src/main/java/br/ufrn/imd/balance/exception/BadRequestException.java
+/home/ff/code/IMD-AULAS/dim0614/WebServices/balance/src/main/java/br/ufrn/imd/balance/domain/Client.java
+/home/ff/code/IMD-AULAS/dim0614/WebServices/balance/src/main/java/br/ufrn/imd/balance/service/BalanceService.java
+/home/ff/code/IMD-AULAS/dim0614/WebServices/balance/src/main/java/br/ufrn/imd/balance/repository/ClientRepository.java
+/home/ff/code/IMD-AULAS/dim0614/WebServices/balance/src/main/java/br/ufrn/imd/balance/exception/BadRequestExceptionDetails.java
+/home/ff/code/IMD-AULAS/dim0614/WebServices/balance/src/main/java/br/ufrn/imd/balance/domain/Account.java
diff --git a/WebServices/balance/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/WebServices/balance/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
index 3a5345ad0769a7ebacaabdd4abc78f4ee36396a5..acc938601d964f4ae34f8d7176eb35a1150158b3 100644
--- a/WebServices/balance/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
+++ b/WebServices/balance/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
@@ -1 +1 @@
-br\ufrn\imd\withdrawal\CourseApplicationTests.class
+br/ufrn/imd/withdrawal/CourseApplicationTests.class
diff --git a/WebServices/balance/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/WebServices/balance/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
index 62020966d6bf88c17ef9d9e53124898e1e9dc931..87bcf060125a69d1781ca28070517cb2a584fb19 100644
--- a/WebServices/balance/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
+++ b/WebServices/balance/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
@@ -1 +1 @@
-C:\Users\maria\Documents\Projetos\dim0614\WebServices\balance\src\test\java\br\ufrn\imd\withdrawal\CourseApplicationTests.java
+/home/ff/code/IMD-AULAS/dim0614/WebServices/balance/src/test/java/br/ufrn/imd/withdrawal/CourseApplicationTests.java
diff --git a/WebServices/client/src/main/java/br/ufrn/imd/client/exception/BadRequestException.java b/WebServices/client/src/main/java/br/ufrn/imd/client/exception/BadRequestException.java
new file mode 100644
index 0000000000000000000000000000000000000000..4c07122fc9df9d54abda35cddc1be13eed3ccabd
--- /dev/null
+++ b/WebServices/client/src/main/java/br/ufrn/imd/client/exception/BadRequestException.java
@@ -0,0 +1,12 @@
+package br.ufrn.imd.client.exception;
+
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.ResponseStatus;
+
+@ResponseStatus(HttpStatus.BAD_REQUEST)
+public class BadRequestException extends RuntimeException{
+
+    public BadRequestException(String message) {
+        super(message);
+    }
+}
diff --git a/WebServices/client/src/main/java/br/ufrn/imd/client/exception/BadRequestExceptionDetails.java b/WebServices/client/src/main/java/br/ufrn/imd/client/exception/BadRequestExceptionDetails.java
new file mode 100644
index 0000000000000000000000000000000000000000..75feaad8eb398d4fe5da7270b857142dbbde5b29
--- /dev/null
+++ b/WebServices/client/src/main/java/br/ufrn/imd/client/exception/BadRequestExceptionDetails.java
@@ -0,0 +1,16 @@
+package br.ufrn.imd.client.exception;
+
+import lombok.Builder;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Data
+@Builder
+public class BadRequestExceptionDetails {
+    private String title;
+    private int status;
+    private String details;
+    private String developerMessage;
+    private LocalDateTime timestamp;
+}
diff --git a/WebServices/client/src/main/java/br/ufrn/imd/client/exception/RestExceptionHandler.java b/WebServices/client/src/main/java/br/ufrn/imd/client/exception/RestExceptionHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..254c74e4fb1baa84184a6fdc83e06bccb6c95725
--- /dev/null
+++ b/WebServices/client/src/main/java/br/ufrn/imd/client/exception/RestExceptionHandler.java
@@ -0,0 +1,24 @@
+package br.ufrn.imd.client.exception;
+
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.ControllerAdvice;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+
+import java.time.LocalDateTime;
+
+@ControllerAdvice
+public class RestExceptionHandler {
+    @ExceptionHandler(BadRequestException.class)
+    public ResponseEntity<BadRequestExceptionDetails> handlerBadRequestException(BadRequestException bre) {
+        return new ResponseEntity<>(
+          BadRequestExceptionDetails.builder()
+                  .timestamp(LocalDateTime.now())
+                  .status(HttpStatus.BAD_REQUEST.value())
+                  .title("Bad Request Exception")
+                  .details(bre.getMessage())
+                  .developerMessage(bre.getClass().getName())
+                  .build(), HttpStatus.BAD_REQUEST
+        );
+    }
+}
diff --git a/WebServices/client/src/main/java/br/ufrn/imd/client/utils/MachineState.java b/WebServices/client/src/main/java/br/ufrn/imd/client/utils/MachineState.java
index 58f94424594b6764560ffe38f95517d10dafc1c0..c813a021f1b55526f0433092dbce2af071faf17f 100644
--- a/WebServices/client/src/main/java/br/ufrn/imd/client/utils/MachineState.java
+++ b/WebServices/client/src/main/java/br/ufrn/imd/client/utils/MachineState.java
@@ -1,10 +1,12 @@
 package br.ufrn.imd.client.utils;
 
 import br.ufrn.imd.client.domain.Client;
+import br.ufrn.imd.client.exception.BadRequestException;
 import br.ufrn.imd.client.utils.message.CredentialsMessage;
 import lombok.Data;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Component;
+import org.springframework.web.client.HttpClientErrorException;
 import org.springframework.web.client.RestTemplate;
 
 import java.util.Scanner;
@@ -46,15 +48,20 @@ public class MachineState {
         System.out.println(">>> Please enter your password");
         String password = sc.nextLine();
 
-        ResponseEntity<Client> response = restTemplate.postForEntity(HOST_AUTHENTICATOR_SERVICE,
-                new CredentialsMessage(accountNumber, password), Client.class);
-        if(response.getStatusCodeValue() == 200) {
-            state = INITIAL;
-            this.client = response.getBody();
-        } else {
+        try {
+            ResponseEntity<Client> response = restTemplate.postForEntity(
+                    HOST_AUTHENTICATOR_SERVICE,
+                    new CredentialsMessage(accountNumber, password),
+                    Client.class);
+            if(response.getStatusCodeValue() == 200) {
+                state = INITIAL;
+                this.client = response.getBody();
+            }
+        } catch (HttpClientErrorException ex){
             System.out.println(">>> Bad credentials");
         }
 
+
         try {
             Thread.sleep(1000);
         } catch (InterruptedException e) {
@@ -103,15 +110,19 @@ public class MachineState {
             }
         } else if(state.equals(DEPOSIT)) {
             String v = sc.nextLine();
-            ResponseEntity<Client> response =
-                    restTemplate.getForEntity(
-                            HOST_DEPOSIT_SERVICE +
-                            String.format("/%d?value=%s", this.client.getId(), v),
-                            Client.class);
-            if(response.getStatusCodeValue() == 200) {
-                System.out.println(
-                        String.format(">>> Your balance is: %.2f", response.getBody().getAccount().getBalance())
-                );
+            try {
+                ResponseEntity<Client> response =
+                        restTemplate.getForEntity(
+                                HOST_DEPOSIT_SERVICE +
+                                        String.format("/%d?value=%s", this.client.getId(), v),
+                                Client.class);
+                if (response.getStatusCodeValue() == 200) {
+                    System.out.println(
+                            String.format(">>> Your balance is: %.2f", response.getBody().getAccount().getBalance())
+                    );
+                }
+            } catch (Exception e) {
+                System.out.println("Invalid operation!");
             }
             try {
                 Thread.sleep(1000);
@@ -120,13 +131,17 @@ public class MachineState {
             }
 
         } else if(state.equals(BALANCE)) {
-            ResponseEntity<Client> response =
-                    restTemplate.getForEntity(HOST_BALANCE_SERVICE +
-                            String.format("/%d", this.client.getId()), Client.class);
-            if(response.getStatusCodeValue() == 200) {
-                System.out.println(
-                        String.format(">>> Your balance is: %.2f", response.getBody().getAccount().getBalance())
-                );
+            try {
+                ResponseEntity<Client> response =
+                        restTemplate.getForEntity(HOST_BALANCE_SERVICE +
+                                String.format("/%d", this.client.getId()), Client.class);
+                if (response.getStatusCodeValue() == 200) {
+                    System.out.println(
+                            String.format(">>> Your balance is: %.2f", response.getBody().getAccount().getBalance())
+                    );
+                }
+            } catch (Exception e) {
+                System.out.println("Invalid operation!");
             }
             try {
                 Thread.sleep(1000);
@@ -136,19 +151,23 @@ public class MachineState {
 
         } else if(state.equals(WITHDRAWAL)) {
             String v = sc.nextLine();
-            ResponseEntity<Client> response =
-                    restTemplate.getForEntity(
-                            HOST_WITHDRAWAL_SERVICE +
-                            String.format("/%d?value=%s", this.client.getId(), v),
-                            Client.class);
-            if(response.getStatusCodeValue()== 200) {
-                System.out.println(
-                        String.format(">>> Your balance is: %.2f", response.getBody().getAccount().getBalance())
-                );
-            } else if(response.getStatusCodeValue() == 500) {
-                System.out.println(
-                        String.format(">>> %s", response.getBody())
-                );
+            try {
+                ResponseEntity<Client> response =
+                        restTemplate.getForEntity(
+                                HOST_WITHDRAWAL_SERVICE +
+                                        String.format("/%d?value=%s", this.client.getId(), v),
+                                Client.class);
+                if (response.getStatusCodeValue() == 200) {
+                    System.out.println(
+                            String.format(">>> Your balance is: %.2f", response.getBody().getAccount().getBalance())
+                    );
+                } else if (response.getStatusCodeValue() == 500) {
+                    System.out.println(
+                            String.format(">>> %s", response.getBody())
+                    );
+                }
+            } catch (Exception e) {
+                System.out.println("Invalid operation!");
             }
             try {
                 Thread.sleep(1000);
@@ -159,25 +178,28 @@ public class MachineState {
             String accountNumber = sc.nextLine();
             System.out.println(">>> Please enter with the value that you want transfer");
             String v = sc.nextLine();
-
-            ResponseEntity<Client> response =
-                    restTemplate.getForEntity(
-                            HOST_TRANSFER_SERVICE +
-                            String.format("/%d?value=%s&toAccount=%s",
-                                    this.client.getId(),
-                                    v,
-                                    accountNumber
-                            ),
-                            Client.class);
-
-            if(response.getStatusCodeValue() == 200) {
-                System.out.println(
-                        String.format(">>> Your balance is: %.2f", response.getBody().getAccount().getBalance())
-                );
-            } else if(response.getStatusCodeValue() == 500) {
-                System.out.println(
-                        String.format(">>> %s", response.getBody())
-                );
+            try {
+                ResponseEntity<Client> response =
+                        restTemplate.getForEntity(
+                                HOST_TRANSFER_SERVICE +
+                                        String.format("/%d?value=%s&toAccount=%s",
+                                                this.client.getId(),
+                                                v,
+                                                accountNumber
+                                        ),
+                                Client.class);
+
+                if (response.getStatusCodeValue() == 200) {
+                    System.out.println(
+                            String.format(">>> Your balance is: %.2f", response.getBody().getAccount().getBalance())
+                    );
+                } else if (response.getStatusCodeValue() == 500) {
+                    System.out.println(
+                            String.format(">>> %s", response.getBody())
+                    );
+                }
+            } catch (Exception e) {
+                System.out.println("Invalid operation!");
             }
             try {
                 Thread.sleep(1000);
diff --git a/WebServices/deposit/target/maven-archiver/pom.properties b/WebServices/deposit/target/maven-archiver/pom.properties
index 0bc277fa9d32e3056d794aaf0f4eab5b8d609390..0bb7375a00321fe76231deb38ef09fff953c721f 100644
--- a/WebServices/deposit/target/maven-archiver/pom.properties
+++ b/WebServices/deposit/target/maven-archiver/pom.properties
@@ -1,4 +1,4 @@
-#Created by Apache Maven 3.8.4
+#Created by Apache Maven 3.6.3
 groupId=br.ufrn.imd
 artifactId=deposit
 version=0.0.1-SNAPSHOT
diff --git a/WebServices/deposit/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/WebServices/deposit/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
index 3874cffd6ccf32aa0b920ab83481dc9e2f34a9c8..d4f4dfd13da7c6030cc2c98a044e666f20d1d1b2 100644
--- a/WebServices/deposit/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
+++ b/WebServices/deposit/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -1,6 +1,6 @@
-br\ufrn\imd\deposit\DepositApplication.class
-br\ufrn\imd\deposit\domain\Client.class
-br\ufrn\imd\deposit\repository\ClientRepository.class
-br\ufrn\imd\deposit\service\DepositService.class
-br\ufrn\imd\deposit\controller\DepositController.class
-br\ufrn\imd\deposit\domain\Account.class
+br/ufrn/imd/deposit/controller/DepositController.class
+br/ufrn/imd/deposit/domain/Account.class
+br/ufrn/imd/deposit/DepositApplication.class
+br/ufrn/imd/deposit/service/DepositService.class
+br/ufrn/imd/deposit/repository/ClientRepository.class
+br/ufrn/imd/deposit/domain/Client.class
diff --git a/WebServices/deposit/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/WebServices/deposit/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
index ac0e43ae425d8307be71f3864cf0c615b72c20fb..839b90fa4f967877e90f21f3dd28866a23b8a39d 100644
--- a/WebServices/deposit/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
+++ b/WebServices/deposit/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -1,6 +1,6 @@
-C:\Users\maria\Documents\Projetos\dim0614\WebServices\deposit\src\main\java\br\ufrn\imd\deposit\domain\Client.java
-C:\Users\maria\Documents\Projetos\dim0614\WebServices\deposit\src\main\java\br\ufrn\imd\deposit\controller\DepositController.java
-C:\Users\maria\Documents\Projetos\dim0614\WebServices\deposit\src\main\java\br\ufrn\imd\deposit\domain\Account.java
-C:\Users\maria\Documents\Projetos\dim0614\WebServices\deposit\src\main\java\br\ufrn\imd\deposit\repository\ClientRepository.java
-C:\Users\maria\Documents\Projetos\dim0614\WebServices\deposit\src\main\java\br\ufrn\imd\deposit\DepositApplication.java
-C:\Users\maria\Documents\Projetos\dim0614\WebServices\deposit\src\main\java\br\ufrn\imd\deposit\service\DepositService.java
+/home/ff/code/IMD-AULAS/dim0614/WebServices/deposit/src/main/java/br/ufrn/imd/deposit/domain/Client.java
+/home/ff/code/IMD-AULAS/dim0614/WebServices/deposit/src/main/java/br/ufrn/imd/deposit/DepositApplication.java
+/home/ff/code/IMD-AULAS/dim0614/WebServices/deposit/src/main/java/br/ufrn/imd/deposit/repository/ClientRepository.java
+/home/ff/code/IMD-AULAS/dim0614/WebServices/deposit/src/main/java/br/ufrn/imd/deposit/service/DepositService.java
+/home/ff/code/IMD-AULAS/dim0614/WebServices/deposit/src/main/java/br/ufrn/imd/deposit/domain/Account.java
+/home/ff/code/IMD-AULAS/dim0614/WebServices/deposit/src/main/java/br/ufrn/imd/deposit/controller/DepositController.java
diff --git a/WebServices/deposit/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/WebServices/deposit/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
index 3a5345ad0769a7ebacaabdd4abc78f4ee36396a5..acc938601d964f4ae34f8d7176eb35a1150158b3 100644
--- a/WebServices/deposit/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
+++ b/WebServices/deposit/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
@@ -1 +1 @@
-br\ufrn\imd\withdrawal\CourseApplicationTests.class
+br/ufrn/imd/withdrawal/CourseApplicationTests.class
diff --git a/WebServices/deposit/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/WebServices/deposit/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
index 9ed5032d7443921f5703a4746380a7805d383002..34faa201a9bcf064e4b4dc9c30f9df34e4b7ca9f 100644
--- a/WebServices/deposit/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
+++ b/WebServices/deposit/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
@@ -1 +1 @@
-C:\Users\maria\Documents\Projetos\dim0614\WebServices\deposit\src\test\java\br\ufrn\imd\withdrawal\CourseApplicationTests.java
+/home/ff/code/IMD-AULAS/dim0614/WebServices/deposit/src/test/java/br/ufrn/imd/withdrawal/CourseApplicationTests.java
diff --git a/WebServices/transfer/target/maven-archiver/pom.properties b/WebServices/transfer/target/maven-archiver/pom.properties
index 40e39ac6c141c3a9570e5c28983b998ab8e843ae..42f84053c1dc69e4939ac3990595b951f3d860ba 100644
--- a/WebServices/transfer/target/maven-archiver/pom.properties
+++ b/WebServices/transfer/target/maven-archiver/pom.properties
@@ -1,4 +1,4 @@
-#Created by Apache Maven 3.8.4
+#Created by Apache Maven 3.6.3
 groupId=br.ufrn.imd
 artifactId=transfer
 version=0.0.1-SNAPSHOT
diff --git a/WebServices/transfer/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/WebServices/transfer/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
index 73a0ccf74d20d1c880891409cf59bd82a3c8f36c..b4c8e86b5178a39ef7cecd4ad710df4ee60f2d70 100644
--- a/WebServices/transfer/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
+++ b/WebServices/transfer/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -1,6 +1,6 @@
-br\ufrn\imd\transfer\domain\Account.class
-br\ufrn\imd\transfer\TransferApplication.class
-br\ufrn\imd\transfer\service\TransferService.class
-br\ufrn\imd\transfer\controller\TransferController.class
-br\ufrn\imd\transfer\domain\Client.class
-br\ufrn\imd\transfer\repository\ClientRepository.class
+br/ufrn/imd/transfer/repository/ClientRepository.class
+br/ufrn/imd/transfer/controller/TransferController.class
+br/ufrn/imd/transfer/domain/Client.class
+br/ufrn/imd/transfer/domain/Account.class
+br/ufrn/imd/transfer/TransferApplication.class
+br/ufrn/imd/transfer/service/TransferService.class
diff --git a/WebServices/transfer/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/WebServices/transfer/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
index 2a4e6d7faa424f6a7400b1afa21fb30adef02a4a..0fe3447416bab0e28fa2ae5965a4809d85c94f58 100644
--- a/WebServices/transfer/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
+++ b/WebServices/transfer/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -1,6 +1,6 @@
-C:\Users\maria\Documents\Projetos\dim0614\WebServices\transfer\src\main\java\br\ufrn\imd\transfer\repository\ClientRepository.java
-C:\Users\maria\Documents\Projetos\dim0614\WebServices\transfer\src\main\java\br\ufrn\imd\transfer\controller\TransferController.java
-C:\Users\maria\Documents\Projetos\dim0614\WebServices\transfer\src\main\java\br\ufrn\imd\transfer\domain\Client.java
-C:\Users\maria\Documents\Projetos\dim0614\WebServices\transfer\src\main\java\br\ufrn\imd\transfer\service\TransferService.java
-C:\Users\maria\Documents\Projetos\dim0614\WebServices\transfer\src\main\java\br\ufrn\imd\transfer\domain\Account.java
-C:\Users\maria\Documents\Projetos\dim0614\WebServices\transfer\src\main\java\br\ufrn\imd\transfer\TransferApplication.java
+/home/ff/code/IMD-AULAS/dim0614/WebServices/transfer/src/main/java/br/ufrn/imd/transfer/domain/Client.java
+/home/ff/code/IMD-AULAS/dim0614/WebServices/transfer/src/main/java/br/ufrn/imd/transfer/controller/TransferController.java
+/home/ff/code/IMD-AULAS/dim0614/WebServices/transfer/src/main/java/br/ufrn/imd/transfer/domain/Account.java
+/home/ff/code/IMD-AULAS/dim0614/WebServices/transfer/src/main/java/br/ufrn/imd/transfer/service/TransferService.java
+/home/ff/code/IMD-AULAS/dim0614/WebServices/transfer/src/main/java/br/ufrn/imd/transfer/repository/ClientRepository.java
+/home/ff/code/IMD-AULAS/dim0614/WebServices/transfer/src/main/java/br/ufrn/imd/transfer/TransferApplication.java
diff --git a/WebServices/transfer/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/WebServices/transfer/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
index 3a5345ad0769a7ebacaabdd4abc78f4ee36396a5..acc938601d964f4ae34f8d7176eb35a1150158b3 100644
--- a/WebServices/transfer/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
+++ b/WebServices/transfer/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
@@ -1 +1 @@
-br\ufrn\imd\withdrawal\CourseApplicationTests.class
+br/ufrn/imd/withdrawal/CourseApplicationTests.class
diff --git a/WebServices/transfer/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/WebServices/transfer/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
index 53b7d27bca88aa20406b0ef108af0a6eabf9c8d0..75e2baf99c1ed5d03ae52cf25f02216141298557 100644
--- a/WebServices/transfer/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
+++ b/WebServices/transfer/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
@@ -1 +1 @@
-C:\Users\maria\Documents\Projetos\dim0614\WebServices\transfer\src\test\java\br\ufrn\imd\withdrawal\CourseApplicationTests.java
+/home/ff/code/IMD-AULAS/dim0614/WebServices/transfer/src/test/java/br/ufrn/imd/withdrawal/CourseApplicationTests.java
diff --git a/WebServices/withdrawal/target/maven-archiver/pom.properties b/WebServices/withdrawal/target/maven-archiver/pom.properties
index 91e3e62c8c101e08d504dc1aa799ce4adce805b1..6b1d262b91d00e937d7615c1678176063a59f878 100644
--- a/WebServices/withdrawal/target/maven-archiver/pom.properties
+++ b/WebServices/withdrawal/target/maven-archiver/pom.properties
@@ -1,4 +1,4 @@
-#Created by Apache Maven 3.8.4
+#Created by Apache Maven 3.6.3
 groupId=br.ufrn.imd
 artifactId=withdrawal
 version=0.0.1-SNAPSHOT
diff --git a/WebServices/withdrawal/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/WebServices/withdrawal/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
index 28229e8b7730aed9abc5090e0519d0499f82d0f8..3d142b7ac0201d3fc412947f5e5860d4c02ab8a0 100644
--- a/WebServices/withdrawal/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
+++ b/WebServices/withdrawal/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -1,6 +1,6 @@
-br\ufrn\imd\withdrawal\domain\Account.class
-br\ufrn\imd\withdrawal\domain\Client.class
-br\ufrn\imd\withdrawal\WithdrawalApplication.class
-br\ufrn\imd\withdrawal\service\WithdrawalService.class
-br\ufrn\imd\withdrawal\controller\WithdrawalController.class
-br\ufrn\imd\withdrawal\repository\ClientRepository.class
+br/ufrn/imd/withdrawal/domain/Account.class
+br/ufrn/imd/withdrawal/domain/Client.class
+br/ufrn/imd/withdrawal/controller/WithdrawalController.class
+br/ufrn/imd/withdrawal/service/WithdrawalService.class
+br/ufrn/imd/withdrawal/repository/ClientRepository.class
+br/ufrn/imd/withdrawal/WithdrawalApplication.class
diff --git a/WebServices/withdrawal/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/WebServices/withdrawal/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
index f0c96b287a0d63b4884344c085d5de5c789575e3..048a3abf5fd905e9833597d2e2909f28a8e51462 100644
--- a/WebServices/withdrawal/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
+++ b/WebServices/withdrawal/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -1,6 +1,6 @@
-C:\Users\maria\Documents\Projetos\dim0614\WebServices\withdrawal\src\main\java\br\ufrn\imd\withdrawal\domain\Account.java
-C:\Users\maria\Documents\Projetos\dim0614\WebServices\withdrawal\src\main\java\br\ufrn\imd\withdrawal\domain\Client.java
-C:\Users\maria\Documents\Projetos\dim0614\WebServices\withdrawal\src\main\java\br\ufrn\imd\withdrawal\WithdrawalApplication.java
-C:\Users\maria\Documents\Projetos\dim0614\WebServices\withdrawal\src\main\java\br\ufrn\imd\withdrawal\repository\ClientRepository.java
-C:\Users\maria\Documents\Projetos\dim0614\WebServices\withdrawal\src\main\java\br\ufrn\imd\withdrawal\controller\WithdrawalController.java
-C:\Users\maria\Documents\Projetos\dim0614\WebServices\withdrawal\src\main\java\br\ufrn\imd\withdrawal\service\WithdrawalService.java
+/home/ff/code/IMD-AULAS/dim0614/WebServices/withdrawal/src/main/java/br/ufrn/imd/withdrawal/domain/Client.java
+/home/ff/code/IMD-AULAS/dim0614/WebServices/withdrawal/src/main/java/br/ufrn/imd/withdrawal/controller/WithdrawalController.java
+/home/ff/code/IMD-AULAS/dim0614/WebServices/withdrawal/src/main/java/br/ufrn/imd/withdrawal/repository/ClientRepository.java
+/home/ff/code/IMD-AULAS/dim0614/WebServices/withdrawal/src/main/java/br/ufrn/imd/withdrawal/domain/Account.java
+/home/ff/code/IMD-AULAS/dim0614/WebServices/withdrawal/src/main/java/br/ufrn/imd/withdrawal/service/WithdrawalService.java
+/home/ff/code/IMD-AULAS/dim0614/WebServices/withdrawal/src/main/java/br/ufrn/imd/withdrawal/WithdrawalApplication.java
diff --git a/WebServices/withdrawal/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/WebServices/withdrawal/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
index 3a5345ad0769a7ebacaabdd4abc78f4ee36396a5..acc938601d964f4ae34f8d7176eb35a1150158b3 100644
--- a/WebServices/withdrawal/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
+++ b/WebServices/withdrawal/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
@@ -1 +1 @@
-br\ufrn\imd\withdrawal\CourseApplicationTests.class
+br/ufrn/imd/withdrawal/CourseApplicationTests.class
diff --git a/WebServices/withdrawal/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/WebServices/withdrawal/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
index bb62f833d933e8ccda5183988e551c989fbbad0a..51bcfa04f4f55e7baa21a3e417df2931654a5a5a 100644
--- a/WebServices/withdrawal/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
+++ b/WebServices/withdrawal/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
@@ -1 +1 @@
-C:\Users\maria\Documents\Projetos\dim0614\WebServices\withdrawal\src\test\java\br\ufrn\imd\withdrawal\CourseApplicationTests.java
+/home/ff/code/IMD-AULAS/dim0614/WebServices/withdrawal/src/test/java/br/ufrn/imd/withdrawal/CourseApplicationTests.java