Thanks for the references, I will check them out.

Cheers,
- Karl 

-----Oprindelig meddelelse-----
Fra: Alonso Dominguez [mailto:[EMAIL PROTECTED] 
Sendt: 14. september 2007 12:31
Til: [email protected]
Emne: Re: Portlet Bridge and AJAX

Thanks for pointing me to that issue. It seems that the reason for your
problem is specified at that issue on point 3:

3) the SessionMap/RequestParameterMap etc. will only work if behind a
portlet. In some cases, the JSF-app might run both behind a portlet and
a servlet

I don't know much about Apache JSF Portlet Bridge but I think that
bridge doesn't implements correctly the JSR-301 (JSF Portlet Bridge
Spec). You can try other JSF Portlet Bridge impls, i.e.: Jsf 4 Portlets
( jsf4portlets.sf.net), jsfportletbridge
(http://jsfportletbridge.dev.java.net).

I'm currently working on implementing the JSR-301 at those projects,
work is not finished yet but you can do a checkout againts its source
repositories.

Regards,
Alonso

2007/9/14, Karl Krukow <[EMAIL PROTECTED]>:
>
> Thanks for the pointer Alonso; in fact, I have already read the paper.
> Unfortunately, it doesn't help with my problem: I want the AJAX 
> handler to be a JSF PhaseListener and not a servlet. Why? Because then

> the AJAX handler can access the FacesContext and update faces UI 
> components, apply validators etc., ie take advantage of the JSF 
> framework. With an AJAX -> Servlet I can't access FacesContext so I 
> would be by-passing faces altogether.
>
> Since I wrote the original post, I noticed there is a JIRA issue:
>
> http://issues.apache.org/jira/browse/PB-73
>
> Does anyone know
>
> a) if that Jira would solve my problem?
>
> b) when would the issue be solved? (I noticed the JIRA had a patch 
> with it).
>
> Cheers,
> - Karl
>
> On 9/13/07, Alonso Dominguez <[EMAIL PROTECTED]> wrote:
> > Hi Karl, you may read this:
> >
> >
> http://developers.sun.com/portalserver/reference/techart/ajax-portlets
> .html
> >
> > 2007/9/13, Karl Krukow <[EMAIL PROTECTED]>:
> > >
> > > Hello,
> > >
> > > I am having problems with implementing an portlet AJAX solution 
> > > using JSF and JSF Apache portlet bridge.
> > >
> > > Specifically I am trying to implement an AJAX enabled JSF page 
> > > using the technique referenced in
> > >
> > > http://java.sun.com/javaee/javaserverfaces/ajax/tutorial.jsp
> > >
> > > Specifically I'm registering a PhaseListener to handle the AJAX
> requests.
> > >
> > > This would work as in the tutorial in a non-portal context. 
> > > However, I'm having problems in my portal (WebSphere Portal v6.0) 
> > > using the org.apache.portals.bridges.jsf.FacesPortlet.
> > >
> > > The problem is the following:
> > >
> > > Client makes an XMLHttpRequest to the faces servlet
> > > (javax.faces.webapp.FacesServlet) which eventually triggers my 
> > > PhaseListener. I guess this is already where something is wrong: 
> > > The FacesServlet throws an exception upon this request
> > >
> > > [Faces Servlet]: java.lang.IllegalArgumentException: Only 
> > > PortletContext supported.
> > >
> > > (Stacktrace below).
> > >
> > > It seems that the SessionMap can only use a PortletRequest in its 
> > > constructs, which is apparently not what it is getting. So I guess

> > > using the FacesServlet is wrong.
> > >
> > > So which servlet should I use to route the AJAX through the faces 
> > > lifecycle in a portlet context?
> > >
> > > Hope someone can help ;-)
> > >
> > > Cheers,
> > > - Karl
> > >
> > > --- Techs ----
> > > WebSphere Portal v6.0
> > > Java1.4
> > > MyFaces 1.1.5
> > > Apache Portal Bridge: portals-bridges-common-1.0.3,
> > > portals-bridges-jsf.1.0.3
> > >
> > >
> > > --- stacktrace for FacesServlet-----
> > >
> > > [Faces Servlet]: java.lang.IllegalArgumentException: Only 
> > > PortletContext supported.
> > > at 
> > > org.apache.portals.bridges.jsf.SessionMap.<init>(SessionMap.java
> :56)
> > >         at
> > >
> org.apache.portals.bridges.jsf.ServletExternalContextImpl.getSessionMa
> p(
> > > ServletExternalContextImpl.java:230)
> > >         at 
> > > org.apache.myfaces.portlet.PortletUtil.isPortletRequest(
> > > PortletUtil.java:64)
> > >         at
> org.apache.myfaces.lifecycle.RestoreViewExecutor.deriveViewId(
> > > RestoreViewExecutor.java:107)
> > >         at 
> > > org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(
> > > RestoreViewExecutor.java:57)
> > >         at 
> > > org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(
> > > LifecycleImpl.java:95)
> > >         at org.apache.myfaces.lifecycle.LifecycleImpl.execute(
> > > LifecycleImpl.java:70)
> > >         at 
> > > javax.faces.webapp.FacesServlet.service(FacesServlet.java
> :139)
> > >
> > > ------------------------------------------------------------------
> > > --- To unsubscribe, e-mail: 
> > > [EMAIL PROTECTED]
> > > For additional commands, e-mail: 
> > > [EMAIL PROTECTED]
> > >
> > >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to