javacctvnews opened a new issue, #14145:
URL: https://github.com/apache/dubbo/issues/14145
### Pre-check
- [X] I am sure that all the content I provide is in English.
### Search before asking
- [X] I had searched in the
[issues](https://github.com/apache/dubbo/issues?q=is%3Aissue) and found no
similar issues.
### Apache Dubbo Component
Java SDK (apache/dubbo)
### Dubbo Version
Dubbo Java 3.2.7,JDK17,Nacos2.2.1
### Steps to reproduce this issue
自开发的认证授权(Spring Authorization
Server)微服务,先称作微服务A,现在前端有一个接口调用A的rest接口,接口内部调用微服务B的一个dubbo服务接口,服务B此时会报一个序列化错误的异常,但是不影响业务流程。微服务B是不需要security相关依赖的,看异常栈是因为缺少security相关类导致反序列化异常,有人知道怎么解决这个问题吗?谢谢!
### What you expected to happen
[ev-system:192.168.3.100:19102] 2024-04-30 09:32:15.361 INFO 61676 [-]
[NettyServerWorker-8-1] o.a.d.r.t.netty4.NettyServerHandler [DUBBO] The
connection of /192.168.3.100:43789 -> /192.168.3.100:20880 is established.,
dubbo version: 3.2.7, current host: 192.168.3.100
[ev-system:192.168.3.100:19102] 2024-04-30 09:32:15.366 INFO 61676 [-]
[NettyServerWorker-8-1] o.a.dubbo.rpc.protocol.dubbo.DubboCodec [DUBBO]
Because thread pool isolation is enabled on the dubbo protocol, the body can
only be decoded on the io thread, and the parameter[decode.in.io.thread] will
be ignored, dubbo version: 3.2.7, current host: 192.168.3.100
[ev-system:192.168.3.100:19102] 2024-04-30 09:32:15.398 WARN 61676 [-]
[DubboServerHandler-192.168.3.100:20880-thread-2]
o.a.d.s.s.jackson.ObjectMapperCodec [DUBBO] , dubbo version: 3.2.7,
current host: 192.168.3.100, error code: 0-23. This may be caused by
objectMapper! deserialize error, you can try to customize the
ObjectMapperCodecCustomer., go to https://dubbo.apache.org/faq/0/23 to find
instructions.
com.fasterxml.jackson.databind.exc.InvalidTypeIdException: Could not resolve
type id
'org.springframework.security.web.authentication.WebAuthenticationDetails' as a
subtype of `java.lang.Object`: no such class found
at [Source:
(byte[])"{"@class":"org.springframework.security.authentication.AnonymousAuthenticationToken","keyHash":-700335674,"principal":"anonymousUser","authorities":["java.util.Collections$UnmodifiableRandomAccessList",[{"@class":"org.springframework.security.core.authority.SimpleGrantedAuthority","authority":"ROLE_ANONYMOUS"}]],"details":{"@class":"org.springframework.security.web.authentication.WebAuthenticationDetails","remoteAddress":"192.168.3.100","sessionId":null},"authenticated":true}";
line: 1, column: 335] (through reference chain:
org.springframework.security.authentication.AnonymousAuthenticationToken["details"])
at
com.fasterxml.jackson.databind.exc.InvalidTypeIdException.from(InvalidTypeIdException.java:43)
at
com.fasterxml.jackson.databind.DeserializationContext.invalidTypeIdException(DeserializationContext.java:2084)
at
com.fasterxml.jackson.databind.DeserializationContext.handleUnknownTypeId(DeserializationContext.java:1575)
at
com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver._typeFromId(ClassNameIdResolver.java:76)
at
com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver.typeFromId(ClassNameIdResolver.java:66)
at
org.springframework.security.jackson2.SecurityJackson2Modules$AllowlistTypeIdResolver.typeFromId(SecurityJackson2Modules.java:271)
at
com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase._findDeserializer(TypeDeserializerBase.java:159)
at
com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer._deserializeTypedForId(AsPropertyTypeDeserializer.java:151)
at
com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:136)
at
com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromAny(AsPropertyTypeDeserializer.java:240)
at
com.fasterxml.jackson.databind.deser.std.UntypedObjectDeserializerNR.deserializeWithType(UntypedObjectDeserializerNR.java:115)
at
com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:138)
at
com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:278)
at
com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:463)
at
com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1409)
at
com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:352)
at
com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeOther(BeanDeserializer.java:220)
at
com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:187)
at