johnyannj opened a new issue #1186: 使用本地注册中心,自己调用自己,有一个类型转换的错误 URL: https://github.com/apache/servicecomb-java-chassis/issues/1186 使用-Dlocal.registry.file指定注册中心文件 一个简单接口 ``` @RestSchema(schemaId = "helloId") @RequestMapping("/") public class HelloService { @RequestMapping(value = "/hello", method= RequestMethod.GET) public String hello(@PathVariable(name = "name") String name) { return name; } } ``` 简单配置 ``` APPLICATION_ID: helloTest #Application name service_description: #Service description name: hello #Microservice name version: 1.0.0 #Service version servicecomb: rest: address: 0.0.0.0:8080 ``` 同一进程里,自己调用自己 ``` CseRestTemplate cseRestTemplate = new CseRestTemplate(); String xiaoming = cseRestTemplate.getForObject("cse://hello/hello?name={}", String.class, "xiaoming"); ``` 异常如下: ``` java.lang.ClassCastException: org.apache.servicecomb.serviceregistry.consumer.MicroserviceVersion cannot be cast to org.apache.servicecomb.core.definition.MicroserviceVersionMeta at org.apache.servicecomb.core.provider.consumer.ReferenceConfig.getMicroserviceMeta(ReferenceConfig.java:54) at org.apache.servicecomb.provider.springmvc.reference.CseClientHttpRequest.createRequestMeta(CseClientHttpRequest.java:154) at org.apache.servicecomb.provider.springmvc.reference.CseClientHttpRequest.execute(CseClientHttpRequest.java:138) at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:734) at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:669) at org.springframework.web.client.RestTemplate.getForObject(RestTemplate.java:310) at com.huawei.nuwa.cse.test.HmacTest.test(HmacTest.java:25) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) ```
---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services