Kerberos错误:GSSHeader找不到正确的标记

Pra*_*lee 10 java soap kerberos jgss spring-security-kerberos

我正在尝试将Kerberos身份验证连接到SOAP服务wsdl url.我能够成功建立连接并进行服务呼叫.启动服务器后,我能够至少进行一次成功的服务呼叫.但是在几次请求(1或更多)之后,我突然得到无效的令牌错误.一旦我收到错误,未来的呼叫就不起作用,错误仍然存​​在.

如果我重新启动服务器,那么服务调用至少会运行一次.以上循环继续.

我无法弄清楚为什么突然令牌失效,尽管它早先工作了.并重新启动服务器使令牌再次有效.

这是错误堆栈跟踪:

Caused by: GSSException: Defective token detected (Mechanism level: GSSHeader did not find the right tag)
        at sun.security.jgss.GSSHeader.<init>(GSSHeader.java:97)
        at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:237)
        at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:179)
Run Code Online (Sandbox Code Playgroud)

Pra*_*lee 1

我找不到令牌无效的根本原因。但这是我解决这个问题的方法。

在我重新启动服务器并且 bean 再次在上下文中加载后,我的身份验证第一次工作。因此,我将 spring bean 的范围更改为,prototype以便每次创建新的代理 bean 时。