This is an automated email from the ASF dual-hosted git repository.

laurence pushed a commit to branch 1.5
in repository https://gitbox.apache.org/repos/asf/dubbo-go-samples.git


The following commit(s) were added to refs/heads/1.5 by this push:
     new d39a206  fix generic invocation bug (#210)
d39a206 is described below

commit d39a20611b4b0753f68e392720830bc2b2cc038a
Author: alchemy-lee <[email protected]>
AuthorDate: Fri Aug 27 09:53:45 2021 +0800

    fix generic invocation bug (#210)
---
 generic/go-client/cmd/client.go | 26 ++++++++++++++++++++++++--
 generic/go-server/pkg/user.go   |  9 +++++++++
 2 files changed, 33 insertions(+), 2 deletions(-)

diff --git a/generic/go-client/cmd/client.go b/generic/go-client/cmd/client.go
index 0d9d4f3..8a8d003 100644
--- a/generic/go-client/cmd/client.go
+++ b/generic/go-client/cmd/client.go
@@ -37,6 +37,7 @@ import (
        _ "github.com/apache/dubbo-go/registry/protocol"
        _ "github.com/apache/dubbo-go/registry/zookeeper"
 
+       hessian "github.com/apache/dubbo-go-hessian2"
        "github.com/dubbogo/gost/log"
 )
 
@@ -66,6 +67,8 @@ func main() {
        callGetUser()
        gxlog.CInfo("\n\ncall queryUser")
        callQueryUser()
+       gxlog.CInfo("\n\ncall getAllUsers")
+       callGetAllUsers()
        initSignal()
 }
 
@@ -100,7 +103,7 @@ func callGetUser() {
                []interface{}{
                        "GetUser",
                        []string{"java.lang.String"},
-                       []interface{}{"A003"},
+                       []hessian.Object{"A003"},
                },
        )
        if err != nil {
@@ -110,6 +113,7 @@ func callGetUser() {
        gxlog.CInfo("success!")
 
 }
+
 func callQueryUser() {
        gxlog.CInfo("\n\n\nstart to generic invoke")
        user := pkg.User{
@@ -123,7 +127,25 @@ func callQueryUser() {
                []interface{}{
                        "queryUser",
                        []string{"org.apache.dubbo.User"},
-                       []interface{}{user},
+                       []hessian.Object{user},
+               },
+       )
+       if err != nil {
+               panic(err)
+       }
+       gxlog.CInfo("res: %+v\n", resp)
+       gxlog.CInfo("success!")
+
+}
+
+func callGetAllUsers() {
+       gxlog.CInfo("\n\n\nstart to generic invoke")
+       resp, err := 
referenceConfig.GetRPCService().(*config.GenericService).Invoke(
+               context.TODO(),
+               []interface{}{
+                       "GetAllUsers",
+                       []hessian.Object{},
+                       []hessian.Object{},
                },
        )
        if err != nil {
diff --git a/generic/go-server/pkg/user.go b/generic/go-server/pkg/user.go
index dd62f6d..1fa56d0 100644
--- a/generic/go-server/pkg/user.go
+++ b/generic/go-server/pkg/user.go
@@ -59,6 +59,15 @@ func (u *UserProvider) QueryUser(ctx context.Context, user 
*User) (*User, error)
        return &rsp, nil
 }
 
+func (u *UserProvider) GetAllUsers(ctx context.Context) ([]*User, error) {
+       rsp := []*User{
+               {"A001", "Alex Stocks", 18, time.Now()},
+               {"A002", "Alchemy Lee", 12, time.Now()},
+       }
+       gxlog.CInfo("rsp:%#v", rsp)
+       return rsp, nil
+}
+
 func (u *UserProvider) MethodMapper() map[string]string {
        return map[string]string{
                "QueryUser": "queryUser",

Reply via email to