public List<DirectEncryptedPseudonymType> provideDep(ProvideDEPsRequest request) throws BsnkException {
        try {
            return ((BSNKDEPPort) this.bindingProvider).bsnkProvideDEPs(request).getDirectEncryptedPseudonyms();
        } catch (SOAPFaultException ex) {
            if (ex.getCause().getMessage().equals("The signature or decryption was invalid")) {
                throw new BsnkException("SignatureValidationFault", ex.getCause().getMessage(), ex.getCause());
            }
            throw new BsnkException("BSNKProvideDEPFault", ex.getMessage(), ex);
        } catch (WebServiceException ex) {
            throw new BsnkException("Could not send bsnkProvidePPPPCAOptimized", ex.getCause().getMessage(),
                    ex.getCause());
        } catch (BSNKProvideDEPFault ex) {
            throw new BsnkException("BSNKProvideDEPFault", ex.getCause().getMessage(), ex.getCause());
        }
    }
@Test
    public void testResponseWithX509KeyIdentifier() throws IOException {
        String ppResponseTemplate = Resources.toString(provideDepResponseFile.getURL(), StandardCharsets.UTF_8);
        this.mockResponseBody = this.signingHelper.sign(ppResponseTemplate, WSConstants.X509_KEY_IDENTIFIER);

        setupWireMock();

        try {
            assertEquals(1, client.provideDep(request).size());
        } catch (BsnkException ex) {
            fail(ex.getMessage());
        }
    }