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.
Como você está tentando fazer?
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.
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?
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
Desculpe pedir novamente, mas você teria um pequeno exemplo para me mostrar.
Tenho não. Quando fiz isso (a muito tempo atrás) eu achei pelo google mesmo.
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…
[quote=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…[/quote]Opa. Maravilha! [=
[quote=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.[/quote]
Usando um Jersey da vida pra expor a aplicação interna via REST ficaria show de bola.