private function sendRequest($request, $endpoint, $operation, $wsdl)
    {
        $endpointurl = $this->compileEndpointUrl($endpoint);
        $this->response = $this->getRequest()->request(
            $this->createAccess(), $request, $endpointurl, $operation, $wsdl
        );
        $response = $this->response->getResponse();

        if (null === $response) {
            throw new Exception('Failure (0): Unknown error', 0);
        }

        return $this->formatResponse($response);
    }