All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.zalando.riptide.soap.SOAPRoute Maven / Gradle / Ivy

package org.zalando.riptide.soap;

import org.zalando.fauxpas.ThrowingConsumer;
import org.zalando.riptide.Route;

import javax.xml.soap.SOAPFault;
import javax.xml.ws.soap.SOAPFaultException;

import static org.springframework.http.HttpStatus.INTERNAL_SERVER_ERROR;
import static org.springframework.http.HttpStatus.OK;
import static org.zalando.riptide.Bindings.on;
import static org.zalando.riptide.Navigators.status;
import static org.zalando.riptide.Route.call;
import static org.zalando.riptide.RoutingTree.dispatch;

public final class SOAPRoute {

    private SOAPRoute() {

    }

    public static  Route soap(
            final Class type,
            final ThrowingConsumer consumer) {
        return soap(call(type, consumer));
    }

    public static  Route soap(final Route route) {
        return dispatch(status(),
                on(OK).call(route),
                on(INTERNAL_SERVER_ERROR).call(SOAPFault.class, fault -> {
                    throw new SOAPFaultException(fault);
                }));
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy