- [ ] I have searched the 
[issues](https://github.com/apache/incubator-dubbo/issues) of this repository 
and believe that this is not a duplicate.
- [ ] I have checked the 
[FAQ](https://github.com/apache/incubator-dubbo/blob/master/FAQ.md) of this 
repository and believe that this is not a duplicate.

### Environment

* Dubbo version: master branch
* Operating System version:  Mac os
* Java version:  1.8

### Steps to reproduce this issue
`org.apache.dubbo.rpc.protocol.dubbo.support.DemoService` add method
```java
 String getPerson(Yee yee);
```
`org.apache.dubbo.rpc.protocol.dubbo.support.DemoServiceImpl`
```java
    @Override
    public String getPerson(Yee yee) {
        return yee.getAddress();
    }
```
```java
public class Yee implements Serializable {
    private String address;
}

public class Man implements Serializable {
    private static final long serialVersionUID = 1L;
    private String name;
    private int age;
}
```
`org.apache.dubbo.rpc.protocol.dubbo.support.DemoServiceImpl` add UT
```java
   @Test
    public void testInvokeMultiJsonParamMethod2() throws RemotingException {
        mockChannel = mock(Channel.class);
        given(mockChannel.getAttribute("telnet.service")).willReturn(null);
        
given(mockChannel.getLocalAddress()).willReturn(NetUtils.toAddress("127.0.0.1:5555"));
        
given(mockChannel.getRemoteAddress()).willReturn(NetUtils.toAddress("127.0.0.1:20886"));

        ProviderModel providerModel = new 
ProviderModel("org.apache.dubbo.rpc.protocol.dubbo.support.DemoService", new 
DemoServiceImpl(), DemoService.class);
        
ApplicationModel.initProviderModel("org.apache.dubbo.rpc.protocol.dubbo.support.DemoService",
 providerModel);
        String param = "{\"address\":\"Dubbo\"}";
        String result = invoke.telnet(mockChannel, "getPerson(" + param + ")");
        assertTrue(result.contains("result: \"Dubbo"));
    }
```
1. UT fail,Find the wrong overload method

### Expected Result

Call `getPerson(Yee yee)`

### Actual Result

Call `getPerson(Man man)`

### Suggestion
If the overload method parameters are different in length,  allowed to not pass 
`class` parameter, otherwise prompted user must  pass the `class` parameter.

@beiwei30 


[ Full content available at: 
https://github.com/apache/incubator-dubbo/issues/3177 ]
This message was relayed via gitbox.apache.org for 
[email protected]

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to