public ArtifactResolveRequest startArtifactResolveProcess(HttpServletRequest httpServletRequest) throws SamlParseException {
        try {
            final var artifactResolveRequest = validateRequest(httpServletRequest);
            final var samlSession = updateArtifactResolveRequestWithSamlSession(artifactResolveRequest);
            validateArtifactResolve(artifactResolveRequest);

            dcMetadataService.resolveDcMetadata(artifactResolveRequest);
            signatureService.validateSamlRequest(artifactResolveRequest, artifactResolveRequest.getArtifactResolve().getSignature());

            createAdAuthentication(samlSession, artifactResolveRequest);
            samlSessionService.updateSamlSession(artifactResolveRequest);

            return artifactResolveRequest;

        } catch (MessageDecodingException e) {
            throw new SamlParseException("ArtifactResolveRequest soap11 decode exception", e);
        } catch (ComponentInitializationException e) {
            throw new SamlParseException("ArtifactResolveRequest initialization exception", e);
        } catch (SamlSessionException e) {
            throw new SamlParseException("Failed to load saml session", e);
        } catch (AdException e) {
            throw new SamlParseException("Failed to create an authentication", e);
        } catch (DienstencatalogusException e) {
            throw new SamlParseException("Failed to retrieve metadata from DienstenCatalogus", e);
        } catch (SamlValidationException e) {
            throw new SamlParseException("ArtifactResolve not valid", e);
        } catch (ValidationException e) {
            throw new SamlParseException("Failed to validate", e);
        } catch (SharedServiceClientException e) {
            throw new SamlParseException("Failed to retrieve data from sharedServiceClient.getSSConfigLong", e);
        }
    }
@Test
    void parseArtifactResolveInvalidVersion() throws SamlSessionException {
        when(samlSessionServiceMock.loadSession(anyString())).thenReturn(samlSession);

        SamlParseException exception = assertThrows(SamlParseException.class, () ->
                artifactResolveService.startArtifactResolveProcess(prepareSoapRequest(artifactResolveRequestInvalidVersion)));

        assertEquals("ArtifactResolve not valid", exception.getMessage());
    }