Search in sources :

Example 1 with DispatchingResponse

use of org.mule.runtime.extension.api.soap.message.DispatchingResponse in project mule by mulesoft.

the class DefaultHttpMessageDispatcher method dispatch.

/**
 * {@inheritDoc}
 * <p>
 * Dispatches a Soap message through http adding the SoapAction header, if required, and the content-type.
 */
@Override
public DispatchingResponse dispatch(DispatchingRequest context) {
    InputStream content = logIfNeeded("Soap Request to [" + context.getAddress() + "]", context.getContent());
    HttpRequest request = HttpRequest.builder().uri(context.getAddress()).method(POST).entity(new InputStreamHttpEntity(content)).headers(new MultiMap<>(context.getHeaders())).build();
    try {
        HttpResponse response = client.send(request, DEFAULT_TIMEOUT_MILLIS, false, null);
        return new DispatchingResponse(logIfNeeded("Soap Response", response.getEntity().getContent()), toHeadersMap(response));
    } catch (IOException e) {
        throw new DispatchingException("An error occurred while sending the SOAP request");
    } catch (TimeoutException e) {
        throw new DispatchingException("The SOAP request timed out", e);
    }
}
Also used : HttpRequest(org.mule.runtime.http.api.domain.message.request.HttpRequest) MultiMap(org.mule.runtime.api.util.MultiMap) ByteArrayInputStream(java.io.ByteArrayInputStream) InputStream(java.io.InputStream) InputStreamHttpEntity(org.mule.runtime.http.api.domain.entity.InputStreamHttpEntity) HttpResponse(org.mule.runtime.http.api.domain.message.response.HttpResponse) IOException(java.io.IOException) DispatchingException(org.mule.runtime.soap.api.exception.DispatchingException) DispatchingResponse(org.mule.runtime.extension.api.soap.message.DispatchingResponse) TimeoutException(java.util.concurrent.TimeoutException)

Aggregations

ByteArrayInputStream (java.io.ByteArrayInputStream)1 IOException (java.io.IOException)1 InputStream (java.io.InputStream)1 TimeoutException (java.util.concurrent.TimeoutException)1 MultiMap (org.mule.runtime.api.util.MultiMap)1 DispatchingResponse (org.mule.runtime.extension.api.soap.message.DispatchingResponse)1 InputStreamHttpEntity (org.mule.runtime.http.api.domain.entity.InputStreamHttpEntity)1 HttpRequest (org.mule.runtime.http.api.domain.message.request.HttpRequest)1 HttpResponse (org.mule.runtime.http.api.domain.message.response.HttpResponse)1 DispatchingException (org.mule.runtime.soap.api.exception.DispatchingException)1