Quantcast
Channel: Apache Timeline
Viewing all articles
Browse latest Browse all 5648

NullPointer in ...sts.event.map.EventMapper

$
0
0
I recently enabled audit logging in my STS (based on 2.7.12-SNAPSHOT), by configuring eventListener in my TokenIssueOperation with an org.apache.cxf.sts.event.map.EventMapper object. This works great in most cases. But when my incoming RST contains an ActAs element, I get a NullPointerException:

java.lang.NullPointerException
at org.apache.cxf.sts.event.map.EventMapper.handleEvent(EventMapper.java:106)
at org.apache.cxf.sts.event.map.EventMapper.handleSTSEvent(EventMapper.java:70)
at org.apache.cxf.sts.operation.AbstractOperation.publishEvent(AbstractOperation.java:729)
at org.apache.cxf.sts.operation.TokenIssueOperation.issueSingle(TokenIssueOperation.java:233)
at org.apache.cxf.sts.operation.TokenIssueOperation.issue(TokenIssueOperation.java:83)
...

If I de-configure eventListener in my TokenIssueOperation I have no issues. Looking over the handleEvent method, it looks like it is referencing this line:

map.put<http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b27/java/util/Map.java#Map.put%28java.lang.String%2Cjava.lang.Object%29>(KEYS<http://grepcode.com/file/repo1.maven.org/maven2/org.apache.cxf.services.sts/cxf-services-sts-core/2.7.11/org/apache/cxf/sts/event/map/KEYS.java#KEYS.0ACTAS_PRINCIPAL>.ACTAS_PRINCIPAL<http://grepcode.com/file/repo1.maven.org/maven2/org.apache.cxf.services.sts/cxf-services-sts-core/2.7.11/org/apache/cxf/sts/event/map/KEYS.java#KEYS.0ACTAS_PRINCIPAL>.name<http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b27/java/lang/Enum.java#Enum.name%28%29>(), params.getTokenRequirements<http://grepcode.com/file/repo1.maven.org/maven2/org.apache.cxf.services.sts/cxf-services-sts-core/2.7.11/org/apache/cxf/sts/token/provider/TokenProviderParameters.java#TokenProviderParameters.getTokenRequirements%28%29>().getActAs<http://grepcode.com/file/repo1.maven.org/maven2/org.apache.cxf.services.sts/cxf-services-sts-core/2.7.11/org/apache/cxf/sts/request/TokenRequirements.java#TokenRequirements.getActAs%28%29>().getPrincipal<http://grepcode.com/file/repo1.maven.org/maven2/org.apache.cxf.services.sts/cxf-services-sts-core/2.7.11/org/apache/cxf/sts/request/ReceivedToken.java#ReceivedToken.getPrincipal%28%29>().getName<http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b27/java/security/Principal.java#Principal.getName%28%29>());

I haven't had a chance to track it much further than this, but it looks like the event handler is either prematurely accessing the ActAs token, or the ActAs token was read in and not parseable. The ActAs element, in my case, contains a SAML 2 assertion previously issued by this STS, so it should certainly be parseable, and in fact when I disable audit logging everything works fine and completes normally. I've been away for a few weeks, but my recollection is that this all worked fine three weeks ago. Has something changed in the snapshot? Any help or insight would be appreciated, thanx!

Stephen W. Chappell

Viewing all articles
Browse latest Browse all 5648

Trending Articles