From 1b7fd37eeb8ede70af731c5fafbd1d3b701ac03c Mon Sep 17 00:00:00 2001 From: watermelon <80680489@qq.com> Date: Sun, 1 Nov 2020 00:06:21 +0800 Subject: [PATCH] Merge pull request #815 from jack15083/develop fix cannot call go provider service when used by java dubbo 2.7.7 version # Conflicts: # registry/base_registry.go --- registry/base_registry.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/registry/base_registry.go b/registry/base_registry.go index ad1a3b617..797ffb2ea 100644 --- a/registry/base_registry.go +++ b/registry/base_registry.go @@ -326,7 +326,16 @@ func (r *BaseRegistry) providerRegistry(c common.URL, params url.Values, f creat } host += ":" + c.Port - rawURL = fmt.Sprintf("%s://%s%s?%s", c.Protocol, host, c.Path, params.Encode()) + //delete empty param key + for key, val := range params { + if len(val) > 0 && val[0] == "" { + params.Del(key) + } + } + + s, _ := url.QueryUnescape(params.Encode()) + rawURL = fmt.Sprintf("%s://%s%s?%s", c.Protocol, host, c.Path, s) + // Print your own registration service providers. dubboPath = fmt.Sprintf("/dubbo/%s/%s", r.service(c), (common.RoleType(common.PROVIDER)).String()) logger.Debugf("provider path:%s, url:%s", dubboPath, rawURL) -- GitLab