public boolean exportSammellastschrift(
            List<DataLastschriftMandat> lastschriften,
            BeitragSammelLastschrift sl) {

        // Gibt an, ob bisher alle Sammellastschriften erfolgreich an Hibiscus
        // übergeben wurden
        boolean allSuccessful = true;

        SqlSession session = sqlSessionFactory.openSession();
        try {
            // Client-Config erzeugen
            XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
            // config.setBasicPassword(<Master-Passwort>);
            // config.setBasicUserName("admin");
            config.setServerURL(new URL(url));
            config.setEnabledForExtensions(true);
            config.setEncoding("ISO-8859-1");

            XmlRpcClient client = new XmlRpcClient();
            client.setConfig(config);

            List<Map<String, Object>> buchungenRcur = new LinkedList<>();
            List<Map<String, Object>> buchungenFrst = new LinkedList<>();

            MandateMapper mapper = session.getMapper(MandateMapper.class);
            for (DataLastschriftMandat ls : lastschriften) {
                BeitragLastschrift lastschrift = ls.getLastschrift();
                BeitragSepaMandat mandat = ls.getMandat();
                Map<String, Object> params = new HashMap<>();
                params.put("blz", mandat.getBic());
                params.put("kontonummer", mandat.getIban());
                params.put("name",
                        MyStringUtils.replaceUmlauts(mandat.getKontoinhaber()));
                params.put("betrag", formatBetrag(lastschrift.getBetrag()
                        .negate()));
                params.put("verwendungszweck", MyStringUtils
                        .replaceUmlauts(lastschrift.getVerwendungszweck()));
                params.put("mandateid",
                        mrefPrefix + Integer.toString(mandat.getMandatId()));
                params.put("creditorid", creditorId);
                params.put("sigdate", formatDate(mandat.getDatum()));

                // Sequenztyp bestimmen (dazu wird überprüft, ob bereits eine
                // Lastschrift von diesem Mandat gezogen wurde)
                if (mapper.isMandatUsed(ls.getMandat().getMandatId())) {
                    buchungenRcur.add(params);
                } else {
                    buchungenFrst.add(params);
                }
            }

            // Objekt zur Übergabe an Hibiscus vorbereiten
            Map<String, Object> params = new HashMap<>();
            params.put("konto", kontoId);
            params.put("termin", formatDate(sl.getFaelligkeit()));
            params.put("sepatype", sepatype);
            params.put("targetdate", formatDate(sl.getFaelligkeit()));

            if (!buchungenFrst.isEmpty()) {
                params.put("name", "FRST - " + sl.getBezeichnung());
                params.put("sequencetype", "FRST");
                params.put("buchungen", buchungenFrst);

                // Aufruf der RPC-Funktion
                Object result = client.execute(
                        "hibiscus.xmlrpc.sepasammellastschrift.create",
                        new Object[] { params });

                // Rückgabe überprüfen
                if (result != null) {
                    logger.log(Level.WARNING,
                            "Fehler beim Senden an Hibiscus (FRST): " + result);
                    allSuccessful = false;
                }
            }

            if (!buchungenRcur.isEmpty()) {
                params.put("name", "RCUR - " + sl.getBezeichnung());
                params.put("sequencetype", "RCUR");
                params.put("buchungen", buchungenRcur);

                // Aufruf der RPC-Funktion
                Object result = client.execute(
                        "hibiscus.xmlrpc.sepasammellastschrift.create",
                        new Object[] { params });

                // Rückgabe überprüfen
                if (result != null) {
                    logger.log(Level.WARNING,
                            "Fehler beim Senden an Hibiscus (RCUR): " + result);
                    allSuccessful = false;
                }
            }

            return allSuccessful;
        } catch (MalformedURLException e) {
            logger.log(Level.SEVERE, "Invalid URL for Hibiscus export", e);
        } catch (XmlRpcException e) {
            logger.log(Level.SEVERE,
                    "Error in XML-RPC call for Hibiscus export", e);
        } finally {
            session.close();
        }
        return false;
    }