XML, DOM e Socket

Pessoal, é o seguinte:

To trabalhando numa integração onde preciso fazer comunicação com um outro sistema via socket, e a “conversa” é em XML. Como são XML’s pequenos, estou usando DOM para fazer o parse.

As respostas que devo enviar seguem um padrão, e estão gravadas em arquivos XML, porém, antes de eu enviar, preciso alterar um parâmetro. Faço o seguinte: leio o XML do arquivo com o DOM e altero o atributo dele. Por exemplo:

XML

<?xml version="1.0" encoding="ASCII"?>
<Package>
<Header Version="1.0" Id="2" />
<Data SessionId="" />
</Package>

Trecho que trata e põe o atributo

Document document;
Element elem;
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
File f = new File("criarOutbox.xml");
document = builder.parse(f);
elem = document.getDocumentElement();
NodeList nos = elem.getElementsByTagName("Data");
elem = (Element)nos.item(0);
elem.setAttribute("SessionId", "testeDeChave");

Apanhei para conseguir escrever o meu XML pelo socket, mas consegui da seguinte maneira:

OMImplementationRegistry registry = DOMImplementationRegistry.newInstance();
DOMImplementationLS impl = (DOMImplementationLS)registry.getDOMImplementation("");
LSSerializer writer = impl.createLSSerializer();
//System.out.println(writer.writeToString(document));
ps.print(writer.writeToString(document));

Acontece que, se eu tirar o comentário da linha com o System.out, vejo o seguinte:

<?xml version="1.0" encoding="UTF-16"?>
<Package>
<Header Version="1.0" Id="2" />
<Data SessionId="testeDeChave" />
</Package>

Como da pra ver, ta ok, colocou o atributo certinho, mas mudo o encoding, de ASCII para UTF-16. Tem como eu impedir que ele faça isso, ou pelo menos como setar ASCII de novo? Porque acontece que em algumas mensagens ta OK, mas outras, o servidor, que não fui eu quem desenvolveu e não tenho acesso ao código para debugar, não está entendendo minha resposta. Acredito que essa é a única coisa que pode estar causando isso, ja que minhas respostas estão de acordo com os arquivos de modelo.

Se alguém puder me ajudar agradeço muito.