XFire destruindo XML

2 respostas
Norxs

Bom antes de tudo vou resumir ... eu simplesmente quero converter minha string para UTF-8 ... agora eu vou dizer o que eu já fiz:

Nosso WebService utiliza XFire, verificamos que a msg SOAP que chega até ele está vindo na codificações correta o problema é depois que ela é absorvida pelo Xfire.

De alguma forma o Xfire está modificando os conteúdos que estão no XML do soap e os transformando para a codificação Cp1252.

O mais estranho que ao recebermos estes conteúdos e forçarmos a conveção para UTF-8 .. a msg toma o padrão US-ASCII ... ?????? ... algum erro abaixo?

byte[] bytes = msg.getMessage();
String newStr = new String(bytes, "UTF-8");
msg.setMessage(newStr.getBytes());

Debugando o Xfire, foi visto que antes da linha 297 do XFireServletController, o request.getInputStream() vem com a codificação correta ... e gera o arquivo desejado ....

XMLStreamReader reader = //linha297
                STAXUtils.createXMLStreamReader(request.getInputStream(), 
                                                charEncoding,
                                                context);
            
            InMessage message = new InMessage(reader, request.getRequestURI());
            message.setProperty(SoapConstants.SOAP_ACTION, soapAction);
            channel.receive(context, message);

mas depois que é executada a linha 298 (STAXUtils.createXMLStreamReader) ... o xml está sofrendo alguma alteração de codificação.

Serio ... alguém tem alguma idéia ai? ... ou já viu algo assim?

2 Respostas

lucianotome

Este charEncoding esta sendo setado onde?
poderia ser assim?

STAXUtils.createXMLStreamReader(request.getInputStream(), "UTF-8", context);

Norxs

Já esta indo assim :frowning:

STAXUtils.createXMLStreamReader(request.getInputStream(), charEncoding, context);

o charEncoding é uma string que contém a codificação :frowning: … e ela tá com UTF-8

Criado 15 de abril de 2009
Ultima resposta 15 de abr. de 2009
Respostas 2
Participantes 2