javax.el.MethodNotFoundException: Method not found: JSF
<p>I am getting error while trying a simple application with JSF.</p>

<pre><code>javax.el.MethodNotFoundException: Method not found: com.jsf.training.beans.TravelBean@4b6b8628.travelInfo()
at org.apache.el.util.ReflectionUtil.getMethod(ReflectionUtil.java:245)
at org.apache.el.parser.AstValue.invoke(AstValue.java:271)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:149)
at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:818)
at javax.faces.component.UICommand.broadcast(UICommand.java:300)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:646)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1044)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
</code></pre>

<p>My managed bean is :</p>

<pre><code>@ManagedBean (name="travelBean")
@SessionScoped
public class TravelBean {

private int index = 0;
private String source;
private String destination;
private Date date;
java.sql.Date sqlDate;
private boolean visible = false;

public boolean isVisible() {
    return visible;
}
public void setVisible(boolean visible) {
    this.visible = visible;
}
public TravelBean() {

}
public String getSource() {
    return source;
}
public void setSource(String source) {
    this.source = source;
}
public String getDestination() {
    return destination;
}
public void setDestination(String destination) {
    this.destination = destination;
}
public Date getDate() {
    return date;
}
public void setDate(Date date) {
    this.date = date;
}

public int getIndex() {
    return index;
}

public void setIndex(int index) {
    this.index = index;
}

public void getDateInSql() {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    sdf.format(date);
    sqlDate = new java.sql.Date(date.getTime());
}
public void getTravelInfo() throws SQLException {
    setVisible(true);
    /*SearchServiceImpl search = new SearchServiceImpl();
    search.searchTrainsService(travelBean);*/
    System.out.println("********** in travel Bean :" +source +destination +date);
    TrainBean tb = new TrainBean();
    tb.getTrainsList(source,destination,sqlDate);
}
</code></pre>

<p>and my xhtml :</p>

<pre><code>&lt;html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui"&gt;
&lt;h:head&gt;
&lt;script name="jquery/jquery.js" library="primefaces"&gt;&lt;/script&gt;
&lt;h:outputStylesheet library="css" name="resources/css/table-style.css"  /&gt;
&lt;/h:head&gt;
&lt;h:body&gt;
&lt;h:form&gt;
&lt;p:growl id="message"&gt;&lt;/p:growl&gt;
&lt;p:tabView activeIndex="#{travelBean.index}" dynamic="true" effect="fade" effectDuration="fast"&gt;
     &lt;p:tab title="Trains"&gt;

        &lt;h:form&gt;
            &lt;h:outputText value="Source"/&gt;:&lt;h:inputText id="source" value="#{travelBean.source}"&gt;&lt;/h:inputText&gt;
            &lt;h:outputText value="Destination"/&gt;:&lt;h:inputText id="destination" value="#{travelBean.destination}"&gt;&lt;/h:inputText&gt;
            &lt;h:outputText value="Date"/&gt;:&lt;p:calendar id="date" value="#{travelBean.date}"&gt;&lt;/p:calendar&gt;
            &lt;h:commandButton value="Search Trains" update="table-wrapper" action="#{travelBean.travelInfo}" actionListener="#{travelBean.travelInfo}" &gt; 
                &lt;!-- &lt;f:ajax execute="@this source destination date" render="output" /&gt; --&gt;
                 &lt;f:attribute name="source" value="#{travelBean.source}"/&gt;
                 &lt;f:attribute name="destination" value="#{travelBean.destination}"/&gt;
                 &lt;f:attribute name="date" value="#{travelBean.date}"/&gt;
            &lt;/h:commandButton&gt;
           &lt;h2&gt;&lt;h:outputText id="output" value="#{travelBean.source} #{travelBean.destination} #{travelBean.date}"/&gt;&lt;/h2&gt; 
        &lt;/h:form&gt;

    &lt;/p:tab&gt; 
    &lt;p:tab title="Flights"&gt;
        &lt;h1&gt;Search flights by routes&lt;/h1&gt;
         &lt;h:form&gt;
            &lt;h:outputText value="Source"/&gt;:&lt;h:inputText id="source" value="#{travelBean.source}"&gt;&lt;/h:inputText&gt;
            &lt;h:outputText value="Destination"/&gt;:&lt;h:inputText id="destination" value="#{travelBean.destination}"&gt;&lt;/h:inputText&gt;
            &lt;h:outputText value="Date"/&gt;:&lt;h:inputText id="date" value="#{travelBean.date}"&gt;&lt;/h:inputText&gt;
            &lt;h:commandButton value="Search Flights" &gt;
                &lt;f:ajax execute="@form" render="output" /&gt;
            &lt;/h:commandButton&gt;

            &lt;h2&gt;&lt;h:outputText id="output" value="#{travelBean.source}"/&gt;        &lt;/h2&gt;
         &lt;/h:form&gt; 

    &lt;/p:tab&gt;
&lt;/p:tabView&gt;


&lt;/h:form&gt;

&lt;/h:body&gt;

&lt;/html&gt;
</code></pre>

<p>I have looked at the other questions, and tried the answer but nothing worked.
Any help is highly appreciated. Thanks in advance!</p>