Conexao JDBC + web service, erro ao retornar, (codificacao)

Olá pessoal. estou criando um web service e necessito retornar uma lista de estados.
porém estpa dando o seguinte erro:
Exceptions details : javax.xml.transform.TransformerException: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 2-byte UTF-8 sequence.
segue meu codigo abaixo:

EstadoFacadeBean

@Stateless
public class EstadoFacade implements EstadoFacadeRemote, EstadoFacadeLocal {
    ConexaoJDBC con = new ConexaoJDBC();
    public List<EstadoWS> listarEstadoPorPais(int idPais, int idSafra) {
        List<EstadoWS> lista = new ArrayList<EstadoWS>();
        String sql = "select distinct estado.nome as nomeEstado, estado.id as idEstado,"
                + " estado.sigla as siglaEstado, estado.pais_id as idPais"
                + " from estado, ocorrencia, cidade, safra, pais"
                + " where ocorrencia.status = true and"
                + " ocorrencia.doenca_id = 1 and ocorrencia.safra_id = " + idSafra
                + " and ocorrencia.cidade_id = cidade.id"
                + " and cidade.estado_id = estado.id"
                + " and estado.pais_id = pais.id"
                + " and estado.pais_id = " + idPais
                + " order by estado.nome";

        PreparedStatement ps = con.getPreparedStatement(sql);
        ResultSet rs = null;
        try {
            rs = ps.executeQuery();
            while (rs.next()) {
                EstadoWS estado = new EstadoWS();

                if (rs.getArray("idEstado") != null) {
                    estado.setId(Integer.parseInt(rs.getArray("idEstado").toString()));
                }

                if (rs.getArray("nomeEstado") != null) {
                    estado.setNome(rs.getArray("nomeEstado").toString());
                }

                if (rs.getArray("siglaEstado") != null) {
                    estado.setSigla(rs.getArray("siglaEstado").toString());
                }

                lista.add(estado);
            }
        } catch (SQLException ex) {

        }

        return lista;
    }

EstadoFacadeRemote

@Remote
public interface EstadoFacadeRemote {

    public List<EstadoWS> listarEstadoPorPais(int idPais, int idSafra);
}

meu web service

@EJB
private EstadoFacadeRemote estadoRemote;


@WebMethod(operationName = "listarEstadoPorPais")
    public List<EstadoWS> listarEstadoPorPais(@WebParam(name = "idPais")
    int idPais, @WebParam(name = "idSafra")
    int idSafra) {
       return estadoRemote.listarEstadoPorPais(idPais, idSafra);
    }

o que há de errado?
preciso muito desse web service funcionando e nao consigo arrumá-lo ;/
abraco

Engraçado, costumo ver essa mensagem em telas JSF, e sempre é algo relacionado a acentuação. Você está devolvendo dados com acento?

[]´s

Sim estou retornando alguns dados com acentos. Porém quando eu retorno a sigla dos estados ou algum dado que não possui acento funciona tudo OK.
Quando eu retorno consultas com dados que possuam acentos dá o erro. acedito que estou fazendo tudo certoa partir da consulta e todo o resto.

O que pode ser feito para retornar os dados corretamente? há alguma forma de ajeitar a codificação?
alguém pode me dar uma luz? preciso muito fazer estes web services funcionar. abraco

[b]Olá Lucas

Olha eu tive um problema igual ao seu. Resolvi fazendo o seguinte. Se você está usando o Netbeans, clique com o botão direito no seu projeto e selecione propriedades mudando a codificação para ISO-8859-1.

Comigo o erro parou de aparecer, mas mesmo assim, as palavras acentuadas aparecem com códigos.

[ ]s [/b]

Oi hayase
tentei o que você falou mas aqui não resolveu ;//
preciso muito fazer isto aqui funcionar nem que retornando com acentos errados.
porém nem desta forma que vc falou funcionou. dá o erro e nao retorna.
algém mais tem alguma ideia?
abraço

Olha

da primeira vez que fiz isso também não funcionou
tentei várias vezes durante alguns dias
depois de muito tentar e reiniciar o note milagrosamente funcionou

[ ]s

Estranho isso oO
vou tentar mais algumas vezes pq até agora nada.
tem alguma outra idéia???
abraco

tenho não …

Abra arquivo domain.xml na pata glassfish-3.1.2\glassfish\domains\domain1\config

adicione tag “-Dfile.encoding=UTF-8” dentro da tag <java-config.

<java-config debug-options="-Xdebug -Xrunjdwp:transport=dt_socket,…

-Dfile.encoding=UTF-8

Muito obrigado thiego.ramos! Seu último post me fez sair de uma tarde INTEIRA de sufoco!
Você foi exemplar ao postar num tópico que já estava praticamente esquecido, somente para orientar as pessoas ao caminho correto…
Atitude que deve ser aplaudida!
Abraços