in compatibility/rpc/triple/hessian2/go-client/cmd/client.go [67:176]
func testComplexService() {
// test with normal data
//test without rsp and request
err := complexProvider.InvokeWithEmptyReq(context.TODO())
if err != nil {
gxlog.CError("error: %v\n", err)
os.Exit(1)
return
}
// test without response
err = complexProvider.InvokeWithSingleString(context.TODO(), "request string")
if err != nil {
gxlog.CError("error: %v\n", err)
os.Exit(1)
return
}
err = complexProvider.InvokeWithStringList(context.TODO(), []string{"myfirststring", "mysecondstring"})
if err != nil {
gxlog.CError("error: %v\n", err)
os.Exit(1)
return
}
err = complexProvider.InvokeWithMultiString(context.TODO(), "first string", "secondString", "third str")
if err != nil {
gxlog.CError("error: %v\n", err)
os.Exit(1)
return
}
// test without request
rsp, err := complexProvider.InvokeWithEmptyReqStringRsp(context.TODO())
if err != nil {
gxlog.CError("error: %v\n", err)
os.Exit(1)
return
}
gxlog.CInfo("get InvokeWithEmptyReqStringRsp rsp = %+v", rsp)
// complex data
stringIntMapData := make(map[string]int)
stringIntMapData["test1"] = 1
stringIntMapData["test2"] = 2
stringStringMapData := make(map[string]string)
stringStringMapData["test1"] = "1"
stringStringMapData["test2"] = "2"
stringUserMapData := make(map[string]User)
stringUserMapData["test1"] = User{Name: "1"}
stringUserMapData["test2"] = User{Name: "2"}
stringUintMapData := make(map[string]uint32)
stringUintMapData["test1"] = 1
stringUintMapData["test2"] = 2
stringUserPtrMapData := make(map[string]*User)
stringUserPtrMapData["test1"] = &User{Name: "1"}
stringUserPtrMapData["test2"] = &User{Name: "2"}
intStringMapData := make(map[int]string)
intStringMapData[1] = "1"
intStringMapData[2] = "2"
data, _ := json.Marshal(User{Name: "myJson", Age: 19, Id: "jsonID"})
cplexData := &ComplexData{
BooleanData: true,
StringData: "testString",
//UIntData: 8,
UInt8Data: 8,
UInt16Data: 16,
UInt32Data: 32,
UInt64Data: 64,
Int8Data: 8,
Int16Data: 16,
Int32Data: 32,
Int64Data: 64,
IntData: 8,
//StringIntMapData: stringIntMapData,
StringStringMapData: stringStringMapData,
//StringUserDefinedMapData:stringUserMapData,
//StringUIntMapData: stringUintMapData,
StringUserDefinedPtrMapData: stringUserPtrMapData,
//IntStringMapData: intStringMapData,
UserDefinedData: User{Name: "myuser", Age: 18, Id: "testid"},
UserDefinedDataPtr: &User{Name: "myuserPtr", Age: 18, Id: "testid"},
ByteData: data,
ArrayListData: []string{"string1", "string2", "string3"},
ArrayUserDefinedData: []User{{Name: "name1", Id: "id1", Age: 19}, {Name: "name1", Id: "id1", Age: 19}, {Name: "name1", Id: "id1", Age: 19}},
ArrayUserDefinedPtrData: []*User{{Name: "name1", Id: "id1", Age: 19}, {Name: "name1", Id: "id1", Age: 19}, {Name: "name1", Id: "id1", Age: 19}},
}
cplxRsp, err := complexProvider.InvokeWithComplexReqComplexRspPtr(context.TODO(), cplexData)
if err != nil {
gxlog.CError("error: %v\n", err)
os.Exit(1)
return
}
gxlog.CInfo("get InvokeWithComplexReqComplexRspPtr rsp = %+v", cplxRsp)
intRsp, err := complexProvider.InvokeWithMultiBasicData(context.TODO(), "reqstr", []byte{1, 2, 4}, 32, true)
if err != nil {
panic(err)
}
gxlog.CInfo("get InvokeWithMultiBasicData rsp = %d", intRsp)
}