title: NPE while trying to render a View in Spring Webflow
body: <p>When trying to use a webflow, I keep getting the following error:</p>
  
  <pre><code>{
      "failure":"true",
      "exception.message":"org.springframework.webflow.execution.ActionExecutionException: Exception thrown executing org.springframework.webflow.action.ViewFactoryActionAdapter@200a5beb in state 'accountCannotLogInView' of flow 'login' -- action execution attributes were 'map[[empty]]'",
      "exception.stacktrace":"org.springframework.webflow.execution.ActionExecutionException: Exception thrown executing org.springframework.webflow.action.ViewFactoryActionAdapter@200a5beb in state 'accountCannotLogInView' of flow 'login' -- action execution attributes were 'map[[empty]]'
      ...
      Caused by: java.lang.IllegalStateException: Exception occurred rendering view null
          at org.springframework.webflow.mvc.view.AbstractMvcView.render(AbstractMvcView.java:191)
          at org.springframework.webflow.action.ViewFactoryActionAdapter.doExecute(ViewFactoryActionAdapter.java:40)
          at org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:188)
          at org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:51)
          ... 66 more
      Caused by: java.lang.NullPointerException
          at org.springframework.webflow.mvc.servlet.ServletMvcView.doRender(ServletMvcView.java:50)
          at org.springframework.webflow.mvc.view.AbstractMvcView.render(AbstractMvcView.java:187)
          ... 69 more
      "
  }
  </code></pre>
  
  <p>Does anybody have any idea what the cause of this might be?
  From my login-webflow.xml:</p>
  
  <pre><code>&lt;action-state id="checkAccountType"&gt;
      &lt;evaluate expression="lookupAccountTypeAction.lookup(flowScope.principal)" /&gt;
      &lt;transition on="EMAIL" to="accountCannotLogInView" /&gt;
      &lt;transition on="Login" to="checkAccountStatus" /&gt;
      &lt;transition on="CONTACT" to="accountCannotLogInView" /&gt;
  &lt;/action-state&gt;
  
  &lt;end-state id="accountCannotLogInView" view="myAccountCannotLogInView"/&gt;
  </code></pre>
  
  <p>From default_views.properties:</p>
  
  <pre><code>myAccountCannotLogInView.(class)=org.springframework.web.servlet.view.JstlView
  myAccountCannotLogInView.url=/WEB-INF/view/jsp/default/ui/myAccountCannotLogInView.jsp
  </code></pre>
  
  <p>From my log file:</p>
  
  <pre><code>2013-09-09 08:29:25,645 DEBUG [org.springframework.webflow.engine.EndState] - Entering state 'accountCannotLogInView' of flow 'login'
  2013-09-09 08:29:25,645 DEBUG [org.springframework.webflow.execution.ActionExecutor] - Executing org.springframework.webflow.action.ViewFactoryActionAdapter@359d136a
  2013-09-09 08:29:25,645 DEBUG [org.springframework.webflow.mvc.view.AbstractMvcView] - Rendering MVC [null] with model map [{flowRequestContext=[RequestControlContextImpl@55bf756b externalContext = org.springframework.webflow.mvc.servlet.MvcExternalContext@2bb4d74, currentEvent = EMAIL, requestScope = map['ticketGrantingTicketId' -&gt; 'TGT-1-GxALVR7PEtbagbnRlStOTbHoRHlb61YVm1m2hvWx3pgWCEXgPb-cas01.example.org'], attributes = map[[empty]], messageContext = [DefaultMessageContext@cb5efc8 sourceMessages = map[[null] -&gt; list[[empty]]]], flowExecution = [FlowExecutionImpl@3f5c0d33 flow = 'login', flowSessions = list[[FlowSessionImpl@419d87bc flow = 'login', state = 'accountCannotLogInView', scope = map['principal' -&gt; sso_test_user, 'userInfoBean' -&gt; com.mycompany.authentication.UserInfoBean@54394557[username=&lt;null&gt;,firstName=&lt;null&gt;,lastName=&lt;null&gt;,emailAddress=&lt;null&gt;,streetAddress=&lt;null&gt;,city=&lt;null&gt;,state=&lt;null&gt;,zip=&lt;null&gt;,country=&lt;null&gt;], 'changePasswordBean' -&gt; com.mycompany.authentication.ChangePasswordBean(username=null, newPassword=null, confirmNewPassword=null), 'service' -&gt; https://my.server.com:443/casauth/facade/norenew?idp=https://my.server.com/idp/externalAuthnCallback, 'credentials' -&gt; [username: sso_test_user], 'warnCookieValue' -&gt; false, 'ticketGrantingTicketId' -&gt; 'TGT-1-GxALVR7PEtbagbnRlStOTbHoRHlb61YVm1m2hvWx3pgWCEXgPb-cas01.example.org']]]]], flashScope=map[[empty]], principal=sso_test_user, currentUser=null, userInfoBean=com.mycompany.authentication.UserInfoBean@54394557[username=&lt;null&gt;,firstName=&lt;null&gt;,lastName=&lt;null&gt;,emailAddress=&lt;null&gt;,streetAddress=&lt;null&gt;,city=&lt;null&gt;,state=&lt;null&gt;,zip=&lt;null&gt;,country=&lt;null&gt;], changePasswordBean=com.mycompany.authentication.ChangePasswordBean(username=null, newPassword=null, confirmNewPassword=null), service=https://my.server.com:443/casauth/facade/norenew?idp=https://my.server.com/idp/externalAuthnCallback, credentials=[username: sso_test_user], flowExecutionKey=e1s1, warnCookieValue=false, flowExecutionUrl=/authentication/login?username=%5BLjava.lang.String%3B%405b65afa5&amp;submit=%5BLjava.lang.String%3B%4070eea883&amp;_eventId=%5BLjava.lang.String%3B%4044796a61&amp;service=%5BLjava.lang.String%3B%407f372965&amp;lt=%5BLjava.lang.String%3B%407e7ee722&amp;password=%5BLjava.lang.String%3B%403d78aa0f&amp;execution=%5BLjava.lang.String%3B%403ce4de50, ticketGrantingTicketId=TGT-1-GxALVR7PEtbagbnRlStOTbHoRHlb61YVm1m2hvWx3pgWCEXgPb-cas01.example.org}]
  2013-09-09 08:29:25,645 DEBUG [org.springframework.webflow.engine.impl.FlowExecutionImpl] - Attempting to handle [org.springframework.webflow.execution.ActionExecutionException: Exception thrown executing org.springframework.webflow.action.ViewFactoryActionAdapter@359d136a in state 'accountCannotLogInView' of flow 'login' -- action execution attributes were 'map[[empty]]'] with root cause [java.lang.NullPointerException]
  2013-09-09 08:29:25,645 DEBUG [org.springframework.webflow.engine.impl.FlowExecutionImpl] - Rethrowing unhandled flow execution exception
  </code></pre>
  
  <p>And yes, the file does exist in that location. I've been banging on this for a few days, so if anybody has any insight, I'd really appreciate it.</p>