aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/gv/egiz/moazs/service/MzsService.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/gv/egiz/moazs/service/MzsService.java')
-rw-r--r--src/main/java/at/gv/egiz/moazs/service/MzsService.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/main/java/at/gv/egiz/moazs/service/MzsService.java b/src/main/java/at/gv/egiz/moazs/service/MzsService.java
index caaa251..565e374 100644
--- a/src/main/java/at/gv/egiz/moazs/service/MzsService.java
+++ b/src/main/java/at/gv/egiz/moazs/service/MzsService.java
@@ -39,6 +39,7 @@ import org.springframework.stereotype.Service;
import javax.jws.WebParam;
import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import java.util.function.Consumer;
@@ -46,6 +47,7 @@ import java.util.function.Consumer;
import static at.gv.egiz.moazs.MoaZSException.moaZSException;
import static at.gv.zustellung.app2mzs.xsd.PartialSuccessType.partialSuccessTypeBuilder;
import static java.lang.String.format;
+import static java.lang.Thread.currentThread;
import static java.util.concurrent.CompletableFuture.supplyAsync;
/**
@@ -116,11 +118,15 @@ public class MzsService implements App2MzsPortType {
} catch (TimeoutException e) {
return applySinkHubToAsyncResponse(appDeliveryID, completeRequest, requestProcessed);
- } catch (Exception e) {
+ } catch (InterruptedException e) {
+ currentThread().interrupt();
var message = format(MZS_SERVICE_ERROR_MSG, appDeliveryID);
throw moaZSException(message, e);
- }
+ } catch (ExecutionException e) {
+ var message = format(MZS_SERVICE_ERROR_MSG, appDeliveryID);
+ throw moaZSException(message, e);
+ }
}
private RequestStatusResponse process(DeliveryRequestType deliveryRequest) {