Zmiana nagłówka XML wyprodukowanego przez organizatora JAXB

Obecnie używam następującego kodu do zebrania obiektu w łańcuch xml

    JAXBContext context;

    try {
        context = JAXBContext.newInstance(heartbeat.getClass());
        StringWriter writer = new StringWriter();
        Marshaller marshaller = context.createMarshaller();

        heartbeat.setHeader(header);
        heartbeat.setHeartbeatEvent(event);

        marshaller.marshal(heartbeat, writer);
        String stringXML = writer.toString();
        return stringXML;

    } catch (JAXBException e) {
        throw new RuntimeException("Problems generating XML in specified "
                + "encoding, underlying problem is " + e.getMessage(),
                e);
    }

Który wytwarza następujący nagłówek

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

Moje pożądane wyjście jest następujące

<?xml version=\"1.0\"?>

Dodając to do marshallera

marshaller.setProperty(Marshaller.JAXB_FRAGMENT, Boolean.FALSE);
marshaller.setProperty("com.sun.xml.bind.xmlHeaders", "<?xml version=\"1.0\"?>");

Otrzymałem

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><?xml version="1.0"?>

i zmiana właściwości JAXB_FRAGMENT na TRUE całkowicie usuwa nagłówek. ŚledziłemJAXB - Usuń 'standalone = "tak"' z wygenerowanego XML wątek próbujący rozwiązać problem, ale do tej pory nie miałem szczęścia. Czy ktoś może mi dać wgląd w to, jak uzyskać pożądany nagłówek z serwera JAXB?

questionAnswers(2)

yourAnswerToTheQuestion