MasterKenway edited a comment on issue #240:
URL: https://github.com/apache/dubbo-go-pixiu/issues/240#issuecomment-899054471
After my debug and discuss with @xavier-niu, I changed my code to
In dubbo protocol client call method:
```
// Call invoke service
func (dc *Client) Call(req *client.Request) (res interface{}, err error) {
// method, paramType, paramValue
gsReq := make([]interface{}, 3)
// if GET with no args, values would be nil
values, err := dc.genericArgs(req)
if err != nil {
return nil, err
}
val, ok := values.(*dubboTarget)
if !ok {
return nil, errors.New("map parameters failed")
}
dm := req.API.Method.IntegrationRequest
method := dm.Method
gsReq[0] = method
if val != nil {
logger.Debugf("[dubbo-go-pixiu] dubbo invoke, method:%s,
types:%s, reqData:%v", method, val.Types, val.Values)
gsReq[1], gsReq[2] = val.Types, val.Values
} else {
logger.Debugf("[dubbo-go-pixiu] dubbo invoke, method:%s,
types:%s, reqData:%v", method, nil, nil)
gsReq[1], gsReq[2] = []hessian.Object{}, []hessian.Object{}
}
gs := dc.Get(dm)
rst, err := gs.Invoke(req.Context, gsReq)
if err != nil {
return nil, err
}
logger.Debugf("[dubbo-go-pixiu] dubbo client resp:%v", rst)
return rst, nil
}
```
But this lead to server error:
```
2021-08-15T22:00:59.795+0800 INFO dubbo-getty/session.go:578
{server:TCP_SERVER:1:172.17.161.60:20000<->172.17.161.60:47748},
[session.conn.read] = error:EOF
github.com/apache/dubbo-getty.(*gettyTCPConn).recv
D:/WorkSpace/GoLandProjects/dubbo-go-pixiu/vendor/github.com/apache/dubbo-getty/connection.go:262
github.com/apache/dubbo-getty.(*session).handleTCPPackage
D:/WorkSpace/GoLandProjects/dubbo-go-pixiu/vendor/github.com/apache/dubbo-getty/session.go:629
github.com/apache/dubbo-getty.(*session).handlePackage
D:/WorkSpace/GoLandProjects/dubbo-go-pixiu/vendor/github.com/apache/dubbo-getty/session.go:578
runtime.goexit
C:/Users/Kenway/gosdk/go1.16.4/src/runtime/asm_amd64.s:1371
github.com/apache/dubbo-getty.(*session).handleTCPPackage
D:/WorkSpace/GoLandProjects/dubbo-go-pixiu/vendor/github.com/apache/dubbo-getty/session.go:635
github.com/apache/dubbo-getty.(*session).handlePackage
D:/WorkSpace/GoLandProjects/dubbo-go-pixiu/vendor/github.com/apache/dubbo-getty/session.go:578
runtime.goexit
C:/Users/Kenway/gosdk/go1.16.4/src/runtime/asm_amd64.s:1371
```
--
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.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]