Hello All, I am trying to access a gsoap service that returns a complex data type ie a vector. The client is developed on WCF .net 4.0 C#.
After calling the service, the WCF client returns NULL, although the XML response contains the correct data.
I have checked eveywhere on the internet and I think there is something wrong that I am doing but I do not know where.
Is there someone who can help. I will post the wsdl file of the service and the gsoap service header file below. Any pointers will be very valuable for me as I am stuck here and I have tried all combinations in the header file!!!
An interesting thing is that this only happens when the return is a complex data type. For simple int and string the results are correctly displayed.
Gsoap Server Header -------------------- //gsoap ns service style: rpc //gsoap ns service encoding: encoded //gsoap ns service namespace: urn:docmgr //gsoap ns service port: http://xx.xxx.xxx.xxx:8080/docmgr //gsoap ns service name: DocManager
class ns__docKeyInfo { public: char *path; char *key; }; #import "/home/tools/gsoap-2.7/gsoap/import/stlvector.h" class ns__MultiResult { public: std::vector<ns__docKeyInfo *> *results 1; struct soap *soap; }; struct ns__GetDocKeysResponse{ns__MultiResult *multiresultobj;}; struct ns__GetParentDocKeysResponse{ns__MultiResult *multiresultobj;}; //gsoap ns service method-style: RenameDocument rpc //gsoap ns service method-encoding: RenameDocument encoded //gsoap ns service method-action: RenameDocument "" int ns__RenameDocument(char *user,char *from,char *to, int &renresult); //gsoap ns service method-style: GetDocKey rpc //gsoap ns service method-encoding: GetDocKey encoded //gsoap ns service method-action: GetDocKey "" int ns__GetDocKey(char *user,char *docPath,char ** getresult); //gsoap ns service method-style: GetDocKeys rpc //gsoap ns service method-encoding: GetDocKeys encoded //gsoap ns service method-action: GetDocKeys "" int ns__GetDocKeys(char *user,long numEntries,struct ns__GetDocKeysResponse &mulresult); //gsoap ns service method-style: GetParentDocKeys rpc //gsoap ns service method-encoding: GetParentDocKeys encoded //gsoap ns service method-action: GetParentDocKeys "" int ns__GetParentDocKeys(char *user,char * docPath,struct ns__GetParentDocKeysResponse &mul2result); //gsoap ns service method-style: CreateDocKey rpc //gsoap ns service method-encoding: CreateDocKey encoded //gsoap ns service method-action: CreateDocKey "" int ns__CreateDocKey(char *user,char *docPath,char ** crresult); //gsoap ns service method-style: HasDocPrivileges rpc //gsoap ns service method-encoding: HasDocPrivileges encoded //gsoap ns service method-action: HasDocPrivileges "" int ns__HasDocPrivileges(char *user,char *docPath,unsigned int privilege_mask,bool &hsresult); //gsoap ns service method-style: GetDocPrivileges rpc //gsoap ns service method-encoding: GetDocPrivileges encoded //gsoap ns service method-action: GetDocPrivileges "" int ns__GetDocPrivileges(char *docPath,char *user,unsigned int &dpresult); //gsoap ns service method-style: DeleteDocKey rpc //gsoap ns service method-encoding: DeleteDocKey encoded //gsoap ns service method-action: DeleteDocKey "" int ns__DeleteDocKey(char *docPath,char *user,int &delresult); //gsoap ns service method-style: InsertDocKey rpc //gsoap ns service method-encoding: InsertDocKey encoded //gsoap ns service method-action: InsertDocKey "" int ns__InsertDocKey(char *docPath,char *key, char *user,int &insresult);