apache / dubbo-spring-boot-project

Spring Boot Project for Apache Dubbo
https://dubbo.apache.org
Apache License 2.0
5.41k stars 1.88k forks source link

com.alibaba.dubbo.rpc.RpcException: Failed to invoke the method #253

Closed eyeqinglan closed 4 years ago

eyeqinglan commented 6 years ago

problen description

<dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>2.0.3.RELEASE</version>
        <scope>import</scope>
        <type>pom</type>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
      <exclusions>
        <exclusion>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-logging</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-log4j2</artifactId>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.dataformat</groupId>
      <artifactId>jackson-dataformat-yaml</artifactId>
    </dependency>
    <dependency>
      <groupId>com.alibaba.boot</groupId>
      <artifactId>dubbo-spring-boot-actuator</artifactId>
      <version>0.2.0</version>
    </dependency>
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>dubbo</artifactId>
      <version>2.6.2</version>
      <exclusions>
        <exclusion>
          <groupId>org.springframework</groupId>
          <artifactId>spring</artifactId>
        </exclusion>
        <exclusion>
          <groupId>javax.servlet</groupId>
          <artifactId>servlet-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>log4j</groupId>
          <artifactId>log4j</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
 </dependencies>

ServiceReference Config

  @Autowired
  public ReferenceConfig<OrganizationService> dubboOrganizationService(
    ApplicationConfig application,
    RegistryConfig registry) {
    ReferenceConfig<OrganizationService> reference = new ReferenceConfig<>();
    reference.setId("account.orgService");
    reference.setApplication(application);
    reference.setInterface(OrganizationService.class);
    reference.setRegistry(registry);
    reference.setUrl(orgServiceUrl);

    return reference;
  }

test controller

@RestController
@RequestMapping("/user")
public class UserController extends BasicController {

  @Reference
  private OrganizationService organizationService;

  @GetMapping("/info")
  public String userInfo() {
    Organization organization = organizationService.get("test");

    return organization.toString();
  }
}
caihangui commented 5 years ago

请尝试在ServiceReferenceConfig使用@Bean而不是@Autowired。

猜测该服务没有被注册到容器中,导致远程调用失败。

kexianjun commented 5 years ago

Pls provider a demo to reproduce this problem.