JedrekWang opened a new issue, #4417: URL: https://github.com/apache/servicecomb-java-chassis/issues/4417
#### 背景 服务调用方servicecomb为1.x,服务提供方servicecomb为2.8.x 服务提供方使用透明RPC调度,且**不同schema下存在相同的接口名,且接口入参为多个**的场景下服务提供方生成的契约内容为  可以见到,schema1定义的接口入参name1,name2,name3,a, schema2定义的接口入参为name1,name2,name3 但是生成的x-java-class则为一致的 gen.swagger.sayHiTestBody 在服务调用方```org.apache.servicecomb.common.javassist.CtType#CtType(com.fasterxml.jackson.databind.JavaType)```的```ClassPool classPool = JavassistUtils.getOrCreateClassPool(classLoader);```处,创建出来的classPool记录的key值为gen.swagger.sayHiTestBody  #### 导致的问题 服务调用方为1.x的老版本时,会通过注册中心拿到契约内容并通过契约动态生成请求body类 在动态生成时从classPool获取类的元数据时,可以看到classPool的classes的map结构,key值为gen.swagger.sayHiTestBody,导致相同的x-java-class名称,不同类被覆盖,无法成功创建预期的请求body类 #### 诉求 servicecomb升级场景,服务提供方为新版本,服务调用方为旧版本是常规的场景,当前这种场景接口无法调通且无法规避,建议servicecomb 2.8.x生成x-java-class的逻辑能与老版本保持兼容 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
