Renaud,

Can you consistently reproduce it?  If so, what are the Urls?  Your 
assessment that requestScope.service should not be null seems correct.

-Scott

Renaud Bruyeron wrote:
> Hi,
>
> I am running into a problem with the "gateway" mode of CAS 3.0.5.
> The client webapp always triggers a "gateway" roundtrip with CAS if it 
> knows that its identity info is stale (for example when the HttpSession 
> is created) so it can get the new identity.
>
> However, it triggers a NPE in some conditions. Below is an extract of 
> the logs (in DEBUG) which shows the execution of the webflow, and the 
> stacktrace when the externalRedirect endstate is reached:
>
> 2006-06-21 18:46:52,559 DEBUG 
> [org.jasig.cas.web.flow.AutomaticCookiePathSetterAction] - <Action 
> 'AutomaticCookiePathSetterAction' beginning execution>
> 2006-06-21 18:46:52,559 DEBUG 
> [org.jasig.cas.web.flow.AutomaticCookiePathSetterAction] - <Action 
> 'AutomaticCookiePathSetterAction' completed execution; result is 'success'>
> 2006-06-21 18:46:52,559 DEBUG 
> [org.jasig.cas.web.flow.TicketGrantingTicketExistsAction] - <Action 
> 'TicketGrantingTicketExistsAction' beginning execution>
> 2006-06-21 18:46:52,560 DEBUG 
> [org.jasig.cas.web.flow.TicketGrantingTicketExistsAction] - <Action 
> 'TicketGrantingTicketExistsAction' completed execution; result is 
> 'ticketGrantingTicketExists'>
> 2006-06-21 18:46:52,560 DEBUG 
> [org.jasig.cas.web.flow.HasServiceCheckAction] - <Action 
> 'HasServiceCheckAction' beginning execution>
> 2006-06-21 18:46:52,560 DEBUG 
> [org.jasig.cas.web.flow.HasServiceCheckAction] - <Action 
> 'HasServiceCheckAction' completed execution; result is 'hasService'>
> 2006-06-21 18:46:52,561 DEBUG 
> [org.jasig.cas.web.flow.RenewRequestCheckAction] - <Action 
> 'RenewRequestCheckAction' beginning execution>
> 2006-06-21 18:46:52,561 DEBUG 
> [org.jasig.cas.web.flow.RenewRequestCheckAction] - <Action 
> 'RenewRequestCheckAction' completed execution; result is 
> 'generateServiceTicket'>
> 2006-06-21 18:46:52,561 DEBUG 
> [org.jasig.cas.web.flow.GenerateServiceTicketAction] - <Action 
> 'GenerateServiceTicketAction' beginning execution>
> 2006-06-21 18:46:52,562 DEBUG 
> [org.jasig.cas.ticket.registry.DefaultTicketRegistry] - <Attempting to 
> retrieve ticket [TGT-3-0Vw02NvOVnLcK2DHQ4qElTfw641BV1nasgK-50]>
> 2006-06-21 18:46:52,562 DEBUG 
> [org.jasig.cas.web.flow.GenerateServiceTicketAction] - <Action 
> 'GenerateServiceTicketAction' completed execution; result is 'gateway'>
> 2006-06-21 18:46:52,563 ERROR 
> [org.apache.catalina.core.ContainerBase.[Catalina].[xxxxx.f6.fr].[/cas].[cas]]
>  
> - <Servlet.service() for servlet cas threw exception>
> java.lang.NullPointerException: target is null for method indexOf
>          at ognl.OgnlRuntime.callMethod(OgnlRuntime.java:821)
>          at ognl.ASTMethod.getValueBody(ASTMethod.java:75)
>          at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
>          at ognl.SimpleNode.getValue(SimpleNode.java:210)
>          at ognl.ASTChain.getValueBody(ASTChain.java:109)
>          at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
>          at ognl.SimpleNode.getValue(SimpleNode.java:210)
>          at ognl.ASTNotEq.getValueBody(ASTNotEq.java:49)
>          at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
>          at ognl.SimpleNode.getValue(SimpleNode.java:210)
>          at ognl.ASTTest.getValueBody(ASTTest.java:49)
>          at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
>          at ognl.SimpleNode.getValue(SimpleNode.java:210)
>          at ognl.Ognl.getValue(Ognl.java:333)
>          at ognl.Ognl.getValue(Ognl.java:310)
>          at 
> org.springframework.binding.expression.support.OgnlExpression.evaluateAgainst(OgnlExpression.java:60)
>          at 
> org.springframework.binding.expression.support.CompositeStringExpression.evaluateAgainst(CompositeStringExpression.java:33)
>          at 
> org.springframework.webflow.support.ExternalRedirectSelector.makeSelection(ExternalRedirectSelector.java:73)
>          at org.springframework.webflow.EndState.doEnter(EndState.java:127)
>          at org.springframework.webflow.State.enter(State.java:192)
>          at 
> org.springframework.webflow.Transition.execute(Transition.java:216)
>          at 
> org.springframework.webflow.TransitionableState.onEvent(TransitionableState.java:80)
>
> My guess is that ${requestScope.service} is null, even though it should 
> not be since hasServiceCheckAction returned "hasService".
> Before I go digging inside webflow and CAS, do you have any idea on what 
> could be the problem?
>
>   - Renaud
>
> _______________________________________________
> cas-dev mailing list
> [email protected]
> http://tp.its.yale.edu/mailman/listinfo/cas-dev
>   
_______________________________________________
cas-dev mailing list
[email protected]
http://tp.its.yale.edu/mailman/listinfo/cas-dev

Reply via email to