Repository: telstra/open-kilda
Issue: GRPC API returns incorrect JSON error response

**Steps to reproduce:**
*****ON HARDWARE ENV*****
1. go to GRPC swagger
2. send some incorrect request. For example try to get logical port for unknown IP 1.1.1.1
```GET /noviflow/1.1.1.1/logicalports```

**Expected result:**
Correct JSON response

**Actual result:**
Concatenation of 2 JSONs which can't be parsed
```
can't parse JSON.  Raw result:

{"timestamp":1667985669923,"error-code":-1,"error-message":"Communication failure - UNAVAILABLE: io exception"}{"timestamp":"2022-11-09T09:21:09.937+0000","status":500,"error":"Internal Server Error","message":"UNAVAILABLE: io exception","path":"/api/v1/noviflow/1.1.1.1/logicalports"}
```

Changed files:
src-java/grpc-speaker/grpc-service/src/main/java/org/openkilda/grpc/speaker/utils/GrpcExceptionHandler.java

diff --git a/src-java/grpc-speaker/grpc-service/src/main/java/org/openkilda/grpc/speaker/utils/GrpcExceptionHandler.java b/src-java/grpc-speaker/grpc-service/src/main/java/org/openkilda/grpc/speaker/utils/GrpcExceptionHandler.java
index 976105b18..eb164b24e 100644
--- a/src-java/grpc-speaker/grpc-service/src/main/java/org/openkilda/grpc/speaker/utils/GrpcExceptionHandler.java
+++ b/src-java/grpc-speaker/grpc-service/src/main/java/org/openkilda/grpc/speaker/utils/GrpcExceptionHandler.java
@@ -30,13 +30,16 @@ import org.springframework.web.bind.annotation.ExceptionHandler;
 import org.springframework.web.context.request.WebRequest;
 import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler;
 
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+
 @ControllerAdvice
 public class GrpcExceptionHandler extends ResponseEntityExceptionHandler {
 
     /**
      * Exception handler.
      */
-    @ExceptionHandler
+    @ExceptionHandler(GrpcRequestFailureException.class)
     public ResponseEntity<Object> handleException(GrpcRequestFailureException ex, WebRequest request) {
         HttpStatus status;
 
@@ -57,11 +60,10 @@ public class GrpcExceptionHandler extends ResponseEntityExceptionHandler {
 
         return makeExceptionalResponse(ex, makeErrorPayload(ex.getCode(), ex.getMessage()), status, request);
     }
-
-    @ExceptionHandler
-    public ResponseEntity<Object> handleException(StatusRuntimeException ex, WebRequest request) {
-        GrpcMessageError body = makeErrorPayload(-1, format("Communication failure - %s", ex.getMessage()));
-        return makeExceptionalResponse(ex, body, HttpStatus.INTERNAL_SERVER_ERROR, request);
+    
+    @ExceptionHandler(StatusRuntimeException.class)
+    public void  handleException(StatusRuntimeException ex, HttpServletResponse response) throws IOException {
+        response.sendError(HttpStatus.INTERNAL_SERVER_ERROR.value());
     }
 
     @Override
@@ -72,6 +74,7 @@ public class GrpcExceptionHandler extends ResponseEntityExceptionHandler {
         return makeExceptionalResponse(exception, error, status, request);
     }
 
+ 
     private ResponseEntity<Object> makeExceptionalResponse(
             Exception ex, GrpcMessageError body, HttpStatus status, WebRequest request) {
         logger.error(format("Produce error response: %s", body));