Usando Cookies em Portlets com JSF 2 no IBM WebSphere Portal 8

Bysutradi

Usando Cookies em Portlets com JSF 2 no IBM WebSphere Portal 8

Para se usar Cookies em portlets (JSR 286), de acordo com a especificação, bastaria apenas adicionar o XML abaixo no arquivo portlet.xml e implementar o método doHeaders no Portlet.

<container-runtime-option>
	<name>javax.portlet.renderHeaders</name>
	<value>true</value>
</container-runtime-option>

Porém, se você requer usar Cookies em portlets (JSR 286) com JSF 2 no IBM WebSphere Portal, encontrará o problema abaixo:

[14/02/14 12:03:12:180 BRST] 0000006d servlet       E com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0068E: An exception was thrown by one of the service methods of the servlet [PortletMensagem] in application [PA_PortletMensagem]. Exception created : [java.lang.NullPointerException
	at com.ibm.faces20.portlet.FacesPortlet.init(FacesPortlet.java:131)
	at com.empresa.mensagem.PortletMensagemPortlet.init(PortletMensagemPortlet.java:38)
	at javax.portlet.GenericPortlet.init(GenericPortlet.java:107)

Diante deste cenário, pensamos em soluções alternativas definitivas (também chamada de POG) para conseguir chegar no resultado esperado.

Paralelamente ao andamento da implementação que a equipe estava fazendo, INCONFORMADO, resolvi procurar a tal classe que apresentava o erro e verificar (decompilar) o que ela estava fazendo.

Após verificar o que a classe estava fazendo, consegui entender o problema e encontrar a solução.

Juntamente com a opção “renderHeaders”, também necessitaríamos adicionar a opção “actionScopedRequestAttributes”. Veja como ficou nosso portlet.xml agora.

<container-runtime-option>
	<name>javax.portlet.renderHeaders</name>
	<value>true</value>
</container-runtime-option>
<container-runtime-option>
	<name>javax.portlet.actionScopedRequestAttributes</name>
	<value>true</value>
</container-runtime-option>

Após a adição destes dois itens, o portlet passou a entrar normalmente no doHeaders e conseguimos manipular os Cookies.

About the Author

sutradi administrator

Leave a Reply