GENTICS News
Links und Bilder in Portletapplication mit eigenen Servlets funktionieren nicht
Symptom:
Links in Portletapplications mit eigenen Servlets (meist von Drittherstellern) funktionieren nicht wenn man sie clickt. Bilder werden nicht korrekt dargestellt. Servlets melden Fehler beim Zugriff auf die Session.
Beispielfehlermeldung eines Clippingportlets (www.portletbridge.org)
Die Session (Cookie) des Applicationservers ist auf den Portalpfad beschränkt. So können Servlets aus anderen Portletapplications nicht auf die Session zugreifen.
Lösung:
Eine Konfigurationsänderung im Applicationserver: Session (Cookie) muss unabhängig vom Pfad sein.
Beispiel
Applicationserver: Apache Tomcat 5.5
Konfigurationsdatei: tomcat/conf/server.xml
Parameter: emptySessionPath="true"
(für alle <Connector> nodes)
Beispiel:
Links in Portletapplications mit eigenen Servlets (meist von Drittherstellern) funktionieren nicht wenn man sie clickt. Bilder werden nicht korrekt dargestellt. Servlets melden Fehler beim Zugriff auf die Session.
Beispielfehlermeldung eines Clippingportlets (www.portletbridge.org)
- Servlet.service() for servlet pbhs threw exceptionMögliche Ursache:
javax.servlet.ServletException: No memento defined. The PortletBridge portlet stores all its user state (e.g. cookies, urls etc.) in the application scope session. If it can't find that data in the session this error is displayed., URL=/Extranet/pbhs/l-nLE2*1RaaS1srX1/btnhelpde.gif
at org.portletbridge.portlet.PortletBridgeServlet.doGet(PortletBridgeServlet.java:134)
Die Session (Cookie) des Applicationservers ist auf den Portalpfad beschränkt. So können Servlets aus anderen Portletapplications nicht auf die Session zugreifen.
Lösung:
Eine Konfigurationsänderung im Applicationserver: Session (Cookie) muss unabhängig vom Pfad sein.
Beispiel
Applicationserver: Apache Tomcat 5.5
Konfigurationsdatei: tomcat/conf/server.xml
Parameter: emptySessionPath="true"
(für alle <Connector> nodes)
Beispiel:
<Connector port="42809" enableLookups="false" redirectPort="42843" protocol="AJP/1.3" emptySessionPath="true" />