title: f:ajax action method is not invoked
body: <p>I am using JSF2 with rich faces 4. My aim is to display a request ID that is generated from a method in the backend into an input text field using ajax.</p>
  
  <p>Here is snippet of my code:</p>
  
  <hr>
  
  <pre><code>....
      &lt;h:outputText value="Drawer No" /&gt; 
      &lt;h:outputText value="*" style="color:#ff0000;"/&gt; 
      &lt;h:inputText id="drawer" value="#{requestBean.drawerNumber}" required="true" 
           requiredMessage="Please enter drawer number"&gt;
          &lt;f:ajax event="change" action="#{requestBean.generateRequestId}" 
              execute="@form" render="requestId"/&gt;
      &lt;/h:inputText&gt;
  
      &lt;h:outputText value="Request Id" /&gt; 
      &lt;h:inputText id="requestId" value="#{requestBean.requestId}"  readonly="true" required="true" &gt;
      &lt;/h:inputText&gt;
  &lt;/td&gt;
  &lt;td&gt;
      &lt;h:message for="requestId"  style="color:red;font-size:10pt"/&gt;
  ....
  </code></pre>
  
  <p>Bean:</p>
  
  <pre><code>public void generateRequestId(ActionEvent e) 
  {
      FacesContext context = FacesContext.getCurrentInstance();
      HttpSession session = (HttpSession) context.getExternalContext().getSession(false);
      String emp=(String) session.getAttribute("loginUser");
      System.out.println("inside ajax event" + emp);
      try {
          requestId = AdminDAO.getRequestId(emp);
      } catch (ParseException e1) {
          e1.printStackTrace();
      }
  }
  </code></pre>
  
  <hr>
  
  <p>Once the method is called, it would generate a request ID which needs to rendered back to request ID.</p>
  
  <p>This code is not even calling the method, and if I use <code>&lt;a4j:ajax</code> instead of <code>f:ajax</code>, it is telling me that method is not present.</p>