public Map<String, String> requestPenReset(PenRequest request) throws PenRequestException, SharedServiceClientException, SoapValidationException {
        final List<PenRequestStatus> result = repository.findByBsnAndDocTypeAndSequenceNo(request.getBsn(), request.getDocType(), request.getSequenceNo());
        checkIfTooSoonOrTooOften(result);

        final Map<String, String> response = new HashMap<>();

        final PenAanvraagEIDRequest rdwRequest = new PenAanvraagEIDRequest();

        rdwRequest.setEIDSTATINFO(eidstatinfoBuilder(request.getBsn(), request.getSequenceNo()));

        final PenAanvraagEIDResponse rdwResponse = client.penRequest(rdwRequest);
        logger.info("The SOAP pen request was successful");

        if ( !"OK".equals(rdwResponse.getResponseDescription())) {
            String errorMessage = "Connection with RDW was successful, but the response description was not equal to OK";
            logger.error(errorMessage);
            throw new PenRequestException("DWS10", errorMessage);
        }

        createPenRequestStatus(request.getBsn(), request.getSequenceNo(), DocumentType.DRIVING_LICENCE);

        response.putAll(statusOK);

        return response;
    }
@Test
    public void penRequestWithConfigurationsErrorThrowsDWS3Exception() throws PenRequestException, SharedServiceClientException, SoapValidationException {
        Mockito.when(ssMock.getSSConfigInt(speedRequest)).thenThrow(new SharedServiceClientException("DWS3"));
        mockStatusList.add(status);
        Mockito.when(mockRepository.findByBsnAndDocTypeAndSequenceNo(request.getBsn(), request.getDocType(), request.getSequenceNo())).thenReturn(mockStatusList);

        Exception exception = assertThrows(SharedServiceClientException.class, () -> {
            service.requestPenReset(request);
        });
        assertEquals("DWS3", exception.getMessage());
    }