1 Reply Latest reply on Feb 8, 2008 9:12 AM by Christian Barth

    RenderResponseImpl.setHeader ERROR on Liferay 4.3.4

    Christian Barth Newbie

      Hi!

      We are trying to use Icefaces with Liferay-Portal 4.3.4 on JBoss AS 4.2.2.

      We use Sun RI of JSF with the appropriate portal-bridge.

      For testing RichFaces, I edited an existing Portlet and added the ToolTip that is evaluated on the server.

      When entering the Portal, everything seems to be working. But when I move the mouse over the Tooltip area, the complete page is reloaded and the message that should be displayed in the tooltip is rendered into the portlet.
      The Server-log shows the following error:

      ERROR [AjaxRendererUtils] Detecting request character encoding is disable.
      17:40:30,593 ERROR [AjaxRendererUtils] Failed to obtain Response#setHeader() method: java.lang.NoSuchMethodException: com.liferay.portlet.RenderResponseImpl.setHeader(java.lang.String, java.lang.String)
      


      Our web.xml:
      <?xml version="1.0"?>
      <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
       <display-name>SOPortletCustomer</display-name>
       <context-param>
       <param-name>company_id</param-name>
       <param-value>godesys.de</param-value>
       </context-param>
       <context-param>
       <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
       <param-value>server</param-value>
       </context-param>
       <context-param>
       <param-name>org.apache.myfaces.ALLOW_JAVASCRIPT</param-name>
       <param-value>true</param-value>
       </context-param>
       <context-param>
       <param-name>org.apache.myfaces.DETECT_JAVASCRIPT</param-name>
       <param-value>false</param-value>
       </context-param>
       <context-param>
       <param-name>org.apache.myfaces.PRETTY_HTML</param-name>
       <param-value>true</param-value>
       </context-param>
       <context-param>
       <param-name>org.apache.myfaces.AUTO_SCROLL</param-name>
       <param-value>true</param-value>
       </context-param>
      
       <filter>
       <filter-name>utf-8</filter-name>
       <filter-class>
       com.godesys.web.filter.SetEncodingFilter
       </filter-class>
       </filter>
       <filter-mapping>
       <filter-name>utf-8</filter-name>
       <url-pattern>*.jsf</url-pattern>
       </filter-mapping>
      
       <listener>
       <listener-class>
       com.liferay.util.bridges.jsf.sun.LiferayConfigureListener
       </listener-class>
       </listener>
      
      
       <context-param>
       <param-name>org.richfaces.SKIN</param-name>
       <param-value>blueSky</param-value>
       </context-param>
      
       <filter>
       <display-name>RichFaces Filter</display-name>
       <filter-name>richfaces</filter-name>
       <filter-class>org.ajax4jsf.Filter</filter-class>
       </filter>
      
       <filter-mapping>
       <filter-name>richfaces</filter-name>
       <servlet-name>Faces Servlet</servlet-name>
       <dispatcher>REQUEST</dispatcher>
       <dispatcher>FORWARD</dispatcher>
       <dispatcher>INCLUDE</dispatcher>
       </filter-mapping>
      
       <filter-mapping>
       <filter-name>richfaces</filter-name>
       <url-pattern>/*</url-pattern>
       </filter-mapping>
      
       <servlet>
       <servlet-name>Faces Servlet</servlet-name>
       <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
       <load-on-startup>1</load-on-startup>
       </servlet>
      
       <!-- extension mapping -->
       <servlet-mapping>
       <servlet-name>Faces Servlet</servlet-name>
       <url-pattern>*.jsf</url-pattern>
       </servlet-mapping>
      
      
       <taglib>
       <taglib-uri>http://richfaces.org/rich</taglib-uri>
       <taglib-location>/WEB-INF/rich.tld</taglib-location>
       </taglib>
      
       <login-config>
       <auth-method>BASIC</auth-method>
       </login-config>
      
      </web-app>
      


      Our faces-config.xml:

      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
       "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
      <faces-config>
       <component>
       <component-type>PORTLET_MENU_COMPONENT</component-type>
       <component-class>com.godesys.web.faces.component.PortletMenuComponent</component-class>
       </component>
       <component>
       <component-type>PORTLET_MENU_ELEMENT_COMPONENT</component-type>
       <component-class>com.godesys.web.faces.component.PortletMenuElementComponent</component-class>
       </component>
       <component>
       <component-type>PORTLET_MENU_LIST_COMPONENT</component-type>
       <component-class>com.godesys.web.faces.component.PortletMenuListComponent</component-class>
       </component>
       <component>
       <component-type>PORTLET_MENU_LIST_ELEMENT_COMPONENT</component-type>
       <component-class>com.godesys.web.faces.component.PortletMenuListElementComponent</component-class>
       </component>
       <component>
       <component-type>PORTLET_MENU_COMPONENT</component-type>
       <component-class>com.godesys.web.faces.component.PortletMenuComponent</component-class>
       </component>
       <component>
       <component-type>PORTLET_MENU_LIST_TRIGGER_COMPONENT</component-type>
       <component-class>com.godesys.web.faces.component.PortletMenuListTriggerComponent</component-class>
       </component>
       <component>
       <component-type>PortletNonFacesURL</component-type>
       <component-class>
       com.godesys.web.faces.component.PortletNonFacesLinkComponent
       </component-class>
       </component>
       <component>
       <component-type>PortletTab</component-type>
       <component-class>
       com.godesys.web.faces.component.PortletTabComponent
       </component-class>
       </component>
       <component>
       <component-type>PortletTabElement</component-type>
       <component-class>
       com.godesys.web.faces.component.PortletTabElementComponent
       </component-class>
       </component>
       <component>
       <component-type>PortletTabActivate</component-type>
       <component-class>
       com.godesys.web.faces.component.PortletTabActivateComponent
       </component-class>
       </component>
       <component>
       <component-type>TruncateTextConverter</component-type>
       <component-class>
       com.godesys.web.faces.component.TruncateTextConverterComponent
       </component-class>
       </component>
       <component>
       <component-type>FusionChart</component-type>
       <component-class>
       com.godesys.web.faces.component.FusionChartComponent
       </component-class>
       </component>
       <component>
       <component-type>FusionChartParameter</component-type>
       <component-class>
       com.godesys.web.faces.component.FusionChartParameterComponent
       </component-class>
       </component>
       <converter>
       <converter-id>TextFormatter</converter-id>
       <converter-class>
       com.godesys.web.converter.FormattedTextConverter
       </converter-class>
       </converter>
       <converter>
       <converter-id>TruncateTextConverter</converter-id>
       <converter-class>
       com.godesys.web.converter.TruncateTextConverter
       </converter-class>
       </converter>
       <managed-bean>
       <managed-bean-name>customerListBean</managed-bean-name>
       <managed-bean-class>
       com.godesys.crm.web.CustomerListBean
       </managed-bean-class>
       <managed-bean-scope>application</managed-bean-scope>
       </managed-bean>
       <managed-bean>
       <managed-bean-name>customerSearchBean</managed-bean-name>
       <managed-bean-class>
       com.godesys.crm.web.CustomerSearchBean
       </managed-bean-class>
       <managed-bean-scope>application</managed-bean-scope>
       </managed-bean>
       <managed-bean>
       <managed-bean-name>orderBean</managed-bean-name>
       <managed-bean-class>
       com.godesys.crm.web.CustomerOrderBean
       </managed-bean-class>
       <managed-bean-scope>application</managed-bean-scope>
       </managed-bean>
       <managed-bean>
       <managed-bean-name>customerEditBean</managed-bean-name>
       <managed-bean-class>
       com.godesys.crm.web.CustomerEditBean
       </managed-bean-class>
       <managed-bean-scope>application</managed-bean-scope>
       </managed-bean>
       <managed-bean>
       <managed-bean-name>customerGlobData</managed-bean-name>
       <managed-bean-class>
       com.godesys.crm.web.CustomerGlobData
       </managed-bean-class>
       <managed-bean-scope>application</managed-bean-scope>
       </managed-bean>
       <managed-bean>
       <managed-bean-name>customerRightsBean</managed-bean-name>
       <managed-bean-class>
       com.godesys.crm.web.CustomerRightsBean
       </managed-bean-class>
       <managed-bean-scope>application</managed-bean-scope>
       </managed-bean>
       <managed-bean>
       <managed-bean-name>customerErrorBean</managed-bean-name>
       <managed-bean-class>
       com.godesys.web.util.WebExceptionBean
       </managed-bean-class>
       <managed-bean-scope>application</managed-bean-scope>
       </managed-bean>
       <managed-bean>
       <managed-bean-name>projectViewBean</managed-bean-name>
       <managed-bean-class>
       com.godesys.crm.web.CustomerProjectsBean
       </managed-bean-class>
       <managed-bean-scope>application</managed-bean-scope>
       </managed-bean>
       <managed-bean>
       <managed-bean-name>customerToolbar</managed-bean-name>
       <managed-bean-class>
       com.godesys.crm.web.CustomerToolbarManagementBean
       </managed-bean-class>
       <managed-bean-scope>application</managed-bean-scope>
       </managed-bean>
       <managed-bean>
       <managed-bean-name>partnerListBean</managed-bean-name>
       <managed-bean-class>
       com.godesys.crm.web.CustomerPartnersBean
       </managed-bean-class>
       <managed-bean-scope>application</managed-bean-scope>
       </managed-bean>
       <managed-bean>
       <managed-bean-name>appointmentListBean</managed-bean-name>
       <managed-bean-class>
       com.godesys.crm.web.CustomerAppointmentsBean
       </managed-bean-class>
       <managed-bean-scope>application</managed-bean-scope>
       </managed-bean>
       <managed-bean>
       <managed-bean-name>customerStatisticBean</managed-bean-name>
       <managed-bean-class>
       com.godesys.crm.web.CustomerSalesStatisticBean
       </managed-bean-class>
       <managed-bean-scope>application</managed-bean-scope>
       </managed-bean>
       <navigation-rule>
       <navigation-case>
       <from-outcome>error</from-outcome>
       <to-view-id>/customer/CustomerError.jsp</to-view-id>
       </navigation-case>
       <navigation-case>
       <from-outcome>search</from-outcome>
       <to-view-id>/customer/CustomerSearch.jsp</to-view-id>
       </navigation-case>
       <navigation-case>
       <from-outcome>list</from-outcome>
       <to-view-id>/customer/CustomerList.jsp</to-view-id>
       </navigation-case>
       <navigation-case>
       <from-outcome>adressChart</from-outcome>
       <to-view-id>
       /customer/CustomerAdressStatistic.jsp
       </to-view-id>
       </navigation-case>
       </navigation-rule>
       <navigation-rule>
       <display-name>list</display-name>
       <from-view-id>/customer/CustomerList.jsp</from-view-id>
       <navigation-case>
       <from-outcome>selectCustomer</from-outcome>
       <to-view-id>/customer/CustomerDetail.jsp</to-view-id>
       </navigation-case>
       </navigation-rule>
       <navigation-rule>
       <from-view-id>/customer/CustomerAppointments.jsp</from-view-id>
       <navigation-case>
       <from-outcome>selectCustomer</from-outcome>
       <to-view-id>/customer/CustomerAppointments.jsp</to-view-id>
       </navigation-case>
       </navigation-rule>
       <navigation-rule>
       <from-view-id>/customer/CustomerPartner.jsp</from-view-id>
       <navigation-case>
       <from-outcome>selectCustomer</from-outcome>
       <to-view-id>/customer/CustomerPartner.jsp</to-view-id>
       </navigation-case>
       </navigation-rule>
       <navigation-rule>
       <from-view-id>/customer/CustomerPartnerDetail.jsp</from-view-id>
       <navigation-case>
       <from-outcome>selectCustomer</from-outcome>
       <to-view-id>/customer/CustomerPartner.jsp</to-view-id>
       </navigation-case>
       </navigation-rule>
       <navigation-rule>
       <from-view-id>/customer/CustomerOrder.jsp</from-view-id>
       <navigation-case>
       <from-outcome>selectCustomer</from-outcome>
       <to-view-id>/customer/CustomerOrder.jsp</to-view-id>
       </navigation-case>
       <navigation-case>
       <from-outcome>showOrders</from-outcome>
       <to-view-id>/customer/CustomerOrder.jsp</to-view-id>
       </navigation-case>
       </navigation-rule>
       <navigation-rule>
       <display-name>edit</display-name>
       <from-view-id>/customer/CustomerDetail.jsp</from-view-id>
       </navigation-rule>
       <navigation-rule>
       <display-name>error</display-name>
       <from-view-id>/customer/CustomerError.jsp</from-view-id>
       </navigation-rule>
       <navigation-rule>
       <from-view-id>/customer/CustomerPartner.jsp</from-view-id>
       <navigation-case>
       <from-outcome>selectPartner</from-outcome>
       <to-view-id>/customer/CustomerPartnerDetail.jsp</to-view-id>
       </navigation-case>
       </navigation-rule>
       <navigation-rule>
       <from-view-id>*</from-view-id>
       <navigation-case>
       <from-outcome>search</from-outcome>
       <to-view-id>/customer/CustomerSearch.jsp</to-view-id>
       </navigation-case>
       <navigation-case>
       <from-outcome>list</from-outcome>
       <to-view-id>/customer/CustomerList.jsp</to-view-id>
       </navigation-case>
       <navigation-case>
       <from-outcome>adressStatistic</from-outcome>
       <to-view-id>/customer/CustomerAdressStatistic.jsp</to-view-id>
       </navigation-case>
      
       </navigation-rule>
       <render-kit>
       <renderer>
       <component-family>com.godesys.PortletMenu</component-family>
       <renderer-type>PORTLET_MENU_RENDERER</renderer-type>
       <renderer-class>
       com.godesys.web.faces.renderer.PortletMenuRenderer
       </renderer-class>
       </renderer>
       <renderer>
       <component-family>PortletNonFacesURL</component-family>
       <renderer-type>PortletNonFacesURL</renderer-type>
       <renderer-class>
       com.godesys.web.faces.renderer.PortletNonFacesLinkRenderer
       </renderer-class>
       </renderer>
       <renderer>
       <component-family>PortletTab</component-family>
       <renderer-type>PortletTab</renderer-type>
       <renderer-class>
       com.godesys.web.faces.renderer.PortletTabRenderer
       </renderer-class>
       </renderer>
       <renderer>
       <component-family>PortletTabActivate</component-family>
       <renderer-type>PortletTabActivate</renderer-type>
       <renderer-class>
       com.godesys.web.faces.renderer.PortletTabActivateRenderer
       </renderer-class>
       </renderer>
       <renderer>
       <component-family>TruncateTextConverter</component-family>
       <renderer-type>TruncateTextConverter</renderer-type>
       <renderer-class>
       com.godesys.web.faces.renderer.TruncateTextConverterRenderer
       </renderer-class>
       </renderer>
       <renderer>
       <component-family>FusionChart</component-family>
       <renderer-type>FusionChart</renderer-type>
       <renderer-class>
       com.godesys.web.faces.renderer.FusionChartRenderer
       </renderer-class>
       </renderer>
       </render-kit>
      
       <application>
       <locale-config>
       <default-locale>DE</default-locale>
       <supported-locale>de</supported-locale>
       <supported-locale>en</supported-locale>
       <supported-locale>en_US</supported-locale>
       <supported-locale>de_de</supported-locale>
       </locale-config>
       <message-bundle>
       com.godesys.customer.web.messages.MessageResources
       </message-bundle>
       </application>
      </faces-config>
      


      We'd be really happy about any suggestions.

      Thanks,
      barthi