GARANTIR DESCONTO

Fórum Integração JBoss Seam 2.2 Final + RestEasy #426795

22/10/2012

0

Boa tarde pessoal, estou a muito tempo tentando integrar o RestEasy com o Seam, mas sem sucesso, já passei pela documentação, passei por artigos, e por fóruns mas até o momento nada, estou usando JBoss AS 6.x, no que eu li, a estrutura está toda correta no qual deveria fornecer total suporte, Meu questionamento é se alguem tem algum tutorial ensinando tal integração ou alguma aplicação exemplo para download para estudos. Ou até auxilio mesmo. Já vi que com seam não é necessário config xml, pois o seam-resteasy.jar já é responsavel por isso. mas mesmo assim não da certo


package br.net.omegasistemas.biblioteca.cidade;

import java.util.ArrayList;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;

import com.google.gson.Gson;

import br.net.omegasistemas.framework.base.ExcecaoBase;
import br.net.omegasistemas.framework.componentes.SearchBox;

@Name("cidadeJSon")
@Path("/cidades")
public class CidadeJSon {

	/**
	 * Necessária a implementação pois o WebRemote não consegue enchergar inherited;
	 */
	protected SearchBox<Cidade> searchBox;
	
	public CidadeJSon() {
		this.searchBox = new SearchBox<Cidade>(Cidade.class);
	}

    @GET  
    @Path("/cidadesJson")  
    @Produces(MediaType.APPLICATION_JSON)  
	public String searchBoxJSON() throws ExcecaoBase {
		ArrayList<?> parse = searchBox.search("1", "");
		
		Gson g = new Gson();
		String json = g.toJson(parse);

		return json;
	}
}

Fernando Moraes

Fernando Moraes

Responder

Posts

22/10/2012

Fernando Moraes

Se tento acessar via url o projeto


Retorna o erro


type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: java.lang.IllegalArgumentException: no file extension in servlet path: /cidades/cidadesJson
	org.jboss.seam.web.ExceptionFilter.endWebRequestAfterException(ExceptionFilter.java:126)
	org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:70)
	org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
	org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)
	org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
	org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
	org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
	org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
	org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60)
	org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:73)
	org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
root cause

java.lang.IllegalArgumentException: no file extension in servlet path: /cidades/cidadesJson
	org.jboss.seam.mock.MockViewHandler.getActionURL(MockViewHandler.java:45)
	org.jboss.seam.jsf.SeamViewHandler.getActionURL(SeamViewHandler.java:74)
	org.jboss.seam.faces.FacesManager.redirect(FacesManager.java:168)
	org.jboss.seam.faces.Redirect.execute(Redirect.java:154)
	org.jboss.seam.exception.DebugPageHandler.handle(DebugPageHandler.java:32)
	org.jboss.seam.exception.Exceptions.handle(Exceptions.java:76)
	org.jboss.seam.web.ExceptionFilter.endWebRequestAfterException(ExceptionFilter.java:114)
	org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:70)
	org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
	org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)
	org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
	org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
	org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
	org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
	org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60)
	org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:73)
	org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
note The full stack trace of the root cause is available in the JBoss Web/3.0.0-CR2 logs.

Responder

Gostei + 0

23/10/2012

Fernando Moraes

Bom Retirei todas os JARS do projeto, e adicionei somente o jboss-seam-resteasy.jar e se eu acessar o path diretamente funciona que é uma beleza, tinha até ficado feliz e tal, mas quando fui na aplicação normal,

a página retorna :ERR_TOO_MANY_REDIRECTS

Agora, estou com o rest funcionando mas a pagina não rs.

Alguem por favor, poderia me auxiliar nisso?
Responder

Gostei + 0

29/10/2012

William Siqueira

Fernando,

Você conseguiu fazer isso?

Poderia tentar, por favor, seguir os seguintes passos:

- Criar um projeto Seam no JBDS;
- Configurar o seu projeto para utilizar RESTeasy conforme documentação:

https://access.redhat.com/knowledge/docs/en-US/JBoss_Enterprise_Web_Platform/5/html/Seam_Reference_Guide/ch23s04.html


Isso deveria funcionar, já vi outras pessoas usando isso com sucesso.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar