qq_41423757 2023-06-10 18:09 采纳率: 100%
浏览 21
已结题

关于#cas#的问题,如何解决?(标签-ar|关键词-Proxy)

cas客户端创建Filter出现空指针异常,请问有谁知道如何解决吗
代码如下:

@Bean
    public Cas20ProxyReceivingTicketValidationFilter getCas20ProxyReceivingTicketValidationFilter() {
        Cas20ProxyReceivingTicketValidationFilter casFilter = new Cas20ProxyReceivingTicketValidationFilter();
        casFilter.setService("http://192.168.10.117:8222");
        casFilter.setProxyReceptorUrl("/proxy/receptor");
        Cas20ProxyTicketValidator ticketValidator = new Cas20ProxyTicketValidator(casProperties.getCasServerUrl());
        ticketValidator.setAcceptAnyProxy(true);
        ticketValidator.setProxyCallbackUrl("/proxy/receptor");
        casFilter.setTicketValidator(ticketValidator);
        return casFilter;
    }

错误内容如下:

18:00:44.813 [restartedMain] ERROR o.a.c.c.C.[.[.[/] - [log,175] - Exception starting filter [getCas20ProxyReceivingTicketValidationFilter]
java.lang.NullPointerException: null
    at org.jasig.cas.client.util.ReflectUtils.newInstance(ReflectUtils.java:78)
    at org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter.createNewTicketValidator(Cas20ProxyReceivingTicketValidationFilter.java:144)
    at org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter.getTicketValidator(Cas20ProxyReceivingTicketValidationFilter.java:178)
    at org.jasig.cas.client.validation.AbstractTicketValidationFilter.initInternal(AbstractTicketValidationFilter.java:141)
    at org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter.initInternal(Cas20ProxyReceivingTicketValidationFilter.java:123)
    at org.jasig.cas.client.util.AbstractCasFilter.init(AbstractCasFilter.java:74)
    at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:272)
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:106)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4613)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5256)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)
    at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266)
    at java.util.concurrent.FutureTask.run(FutureTask.java)
    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
    at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)
    at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266)
    at java.util.concurrent.FutureTask.run(FutureTask.java)
    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
    at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.startup.Tomcat.start(Tomcat.java:486)
    at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:123)

  • 写回答

2条回答 默认 最新

  • 大师兄6668 Python领域新星创作者 2023-06-10 18:18
    关注

    根据异常信息,报错原因是在使用ReflectUtilsnewInstance()方法时出现了空指针异常。

    可能原因有以下几种:

    1. ReflectUtils类没有被成功加载:检查是否在项目依赖中正确引入了org.jasig.cas.client.util包。

    2. Cas20ProxyReceivingTicketValidationFilter类没有被成功加载:检查是否在项目依赖中正确引入了org.jasig.cas.client.validation包,同时也要确保与该类有关的Java文件存在并且能够编译。

    3. casProperties对象为空:这个对象应该是通过Spring的依赖注入机制获得的,在本段代码中并未给出该对象的创建方法。检查是否正确配置了Spring的依赖注入机制,并在程序启动时成功创建了casProperties对象。

    4. Cas20ProxyReceivingTicketValidationFilter对象的构造函数中使用了其他对象但未初始化,导致NPE异常:请仔细检查代码中所有有关的对象调用,确保它们都已经初始化并且不为空。

    综上所述,排查方法可以从这四个方面入手,逐个排查,找出问题所在。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月21日
  • 已采纳回答 6月13日
  • 创建了问题 6月10日

悬赏问题

  • ¥18 光催化第一性原理计算析氢效率STH怎么计算
  • ¥100 Mac 版foxmail 收邮件问题
  • ¥15 QWebEngineView
  • ¥15 如何使用shufflenet进行手写数字识别
  • ¥15 .net core 同时编辑怎么防止数据串了
  • ¥20 微信小程序播放直播流
  • ¥15 关于迷宫自走单片机循迹小车的知识
  • ¥15 python使用selenium工具爬取网站的问题
  • ¥15 visual studio中c语言用ODBC链接SQL SERVER
  • ¥15 关于#python#的问题:如何通过pywinauto获取到图中“窗格”内部的内容