GWT TextAreas

7 respostas
ramilani12

Olá
Pessoal

Possuo uma página que contem 3 TextAreas, estranhamente qndo esses 3 textareas o conteudo for maior que 300 caracteres no momento de salvar no banco de dados eu recebo esta mensagem do GWT:

Ocorreu um erro de comunicação com o servidor. 
com.google.gwt.http.client.RequestException: O sistema não pode localizar o recurso especificado.

A forma que persisto no banco é através RequestCallBack via POST, não sei pode ser uma limitação do protocolo HTTP ao passar uma requisição com qtde considerável de caracteres ou uma limitação do GWT

Não é uma limitação no db prq as colunas suportam até 4000 caracteres

Alguem ja passou por este tipo de problema?

7 Respostas

alias

Cara que estranho, eu tenho textareas com mais de 300 caracteres, e funciona tranquilo…

A execução nem chega lá na sua classe de serviço?

ramilani12

Na verdade nem chega, testei com Safari e Firefox e pelo que parece ele descarta a requisição a diferença q ambos não apresentam a mensagem de erro como IE faz…

alias

Cara posta aí o codigo de como voce está fazendo o submit desse formulario…

ramilani12

Na verdade não tem muito segredo acredito que seja uma limitação do navegador:
Não tenho idéia qual limite que IE suporta numa requisição…

public void updateRegistro(final String id, final String status, final String tratativa, 
    		final String resposta, final String planoAcao, final Date dataPrevista , final String idTipoAlegacao){
    	
    	GWT.log("Indo para updateRegistro - id:"+id, null);
    	
    	final RequestCallback callback = new RequestCallback(){
			public void onError(Request request, Throwable exception) {
				doFailure(exception);
			}
			public void onResponseReceived(Request request, Response response) {
			}
		};
		
		StringBuilder buff = new StringBuilder("/myAppmyApp/update/");
		buff.append(id).append("?");
		if(!"".equals(status) && null != status){
			buff.append("&status=").append(status);
		}	
		if(!"".equals(tratativa) && null != tratativa)
			buff.append("&tratativa=").append(tratativa);
		if(!"".equals(resposta) && null != resposta)
			buff.append("&resposta=").append(resposta);
		if(!"".equals(planoAcao) && null != planoAcao)
			buff.append("&planoAcao=").append(planoAcao);
		if(!"".equals(dataPrevista) && null != dataPrevista)
			buff.append("&dataPrevista=").append(DateTimeFormat.getFormat("dd/MM/yyyy").format(dataPrevista));
		if(!"".equals(idTipoAlegacao) && null != idTipoAlegacao)
			buff.append("&idTipoAlegacao=").append(idTipoAlegacao);
		
		
		
		String uri = URL.encode(buff.toString());
		RequestBuilder builder = new RequestBuilder(RequestBuilder.POST,uri);
		builder.setHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
		try {
            builder.sendRequest(null, callback);
        } catch (RequestException e) {
            callback.onError(null, e);
        }
       
    }
alias

Cara qual a quantidade de caracteres dessa sua URL?

O Internet Explorer suporta até 2083 (se nao me falha a memoria) caracteres na URL…

ramilani12

A qtde de caracteres não passa de 2000, já não tenho mais idéias… :twisted:

juniorsatanas

ramilani12 … tu ta usando gwt em casa para aprender ou no trabalho ? tem um pdf ai fontes ? [email removido]

Criado 15 de setembro de 2009
Ultima resposta 25 de dez. de 2009
Respostas 7
Participantes 3