JSF + Servlet

9 respostas
Danilo_Carvalho

Boa tarde!

Antes de qualquer coisa, adianto que já pesquisei bastante e achei vários posts sobre o assunto, mas preciso de mais algumas informações.

Bom trabalho com jboss seam e jsf, estou em um ponto do projeto onde terei uma apliação rodando no serividor interno e as demais aplicações precisam acesas-la para buscar dados referentes a licença,
não estou conseguindo fazer uma aplicação acessar a outra, preciso fazer isso com servlet mas ainda não consegui muito progresso.

Algúem já fez isso, acessar uma aplicação seam + jsf com serlvet.

Se puder ajudar, agradeço.

Até mais.

9 Respostas

Hebert_Coelho

Como você está tentando fazer?

Danilo_Carvalho

Bom.

Minha aplicação que esta no cliente tenho uma classe que faz o start de vários serviços, dentre eles um que de hora em hora precisa validar a licença em uma aplicação que esta em outro servidor.

Nesse serviço está assim.

@Asynchronous
	public void scheduleService(@Expiration Date date, @IntervalDuration long nextExcecution) {
		Date dateExecution = new Date();

		String url = SettingsManager.getInstance().getAddressServer() + "?checkdate=" + dateExecution;

		FacesContext facesContext = FacesContext.getCurrentInstance();

		HttpServletRequest httpServletRequest = (HttpServletRequest) facesContext.getExternalContext().getRequest();
		HttpServletResponse httpServletResponse = (HttpServletResponse) facesContext.getExternalContext().getResponse();
		
		ServletContext servletContext = (ServletContext) facesContext.getExternalContext().getContext();
		
		servletContext.setAttribute("checkDate", dateExecution);
		servletContext.getRequestDispatcher(SettingsManager.getInstance().getAddressServer());
		
		log.info("Check Date License Service Executor done as " + new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(dateExecution));
	}

SettingsManager.getInstance().getAddressServer() = endereço do servidor onde esta a licença.

Mas da erro logo nessa linha HttpServletRequest httpServletRequest = (HttpServletRequest) facesContext.getExternalContext().getRequest();

Ainda estou implementando algumas coisas ai nem são usadas.

Se puder me ajudar, agradeço muito.

Hebert_Coelho

Se é um serviço assíncrono ele não terá um FacesContext uai.

Pq vc não faz uma chamada HTTP na unha para o Servlet?

Danilo_Carvalho

Sobre o FacesContext dentro de um serviço assíncrono eu não sabia mesmo, obrigado.

Agora a pouco eu esta tentando fazer com HTTPConnection, mas também ainda não obtive muito sucesso!

Você tem algum exemplo para me mostrar, mesmo que simples, só para eu me basear.

Obrigado

Danilo_Carvalho

Desculpe pedir novamente, mas você teria um pequeno exemplo para me mostrar.

Hebert_Coelho

Tenho não. Quando fiz isso (a muito tempo atrás) eu achei pelo google mesmo.

Danilo_Carvalho

Opa, muito obrigado mesmo assim, ajudou bastante.

Depois de muito estudar, consegui fazer a conexão via HTTPUrlConnection.

Assim que organizar o código posto a solução aqui para ajudar quem precisar e fecho o post.

até mais…

Hebert_Coelho

Danilo Carvalho:
Opa, muito obrigado mesmo assim, ajudou bastante.

Depois de muito estudar, consegui fazer a conexão via HTTPUrlConnection.

Assim que organizar o código posto a solução aqui para ajudar quem precisar e fecho o post.

até mais…

Opa. Maravilha! [=

R

Danilo Carvalho:
Boa tarde!

Antes de qualquer coisa, adianto que já pesquisei bastante e achei vários posts sobre o assunto, mas preciso de mais algumas informações.

Bom trabalho com jboss seam e jsf, estou em um ponto do projeto onde terei uma apliação rodando no serividor interno e as demais aplicações precisam acesas-la para buscar dados referentes a licença,
não estou conseguindo fazer uma aplicação acessar a outra, preciso fazer isso com servlet mas ainda não consegui muito progresso.

Algúem já fez isso, acessar uma aplicação seam + jsf com serlvet.

Se puder ajudar, agradeço.

Até mais.

Usando um Jersey da vida pra expor a aplicação interna via REST ficaria show de bola.

Criado 10 de janeiro de 2013
Ultima resposta 10 de jan. de 2013
Respostas 9
Participantes 3