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

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

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

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

这是错误堆栈跟踪:

Caused by: GSSException: Defective token detected (Mechanism level: GSSHeader did not find the right tag) at sun.security.jgss.GSSHeader.(GSSHeader.java:97) at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:237) at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:179) 

在没有看到Base 64值或hex转储的情况下,我假设客户端正在发送NTLM类型1令牌而Java不支持NTLM。

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

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