gSOAP使用void *soap.user给service方法传递参数,soap.user一定要在调用soap__serve()之前调用.
如下面的例子,是传递一个database handle给ns__myMethod方法。
{ ...
struct soap soap;
database_handle_type database_handle;
soap_init(&soap); soap.user = (void*)database_handle;
...
soap_serve(&soap); // call the service operation dispatcher to handle request
...
}
int ns__myMethod(struct soap *soap, ...)
{ ...
fetch((database_handle_type*)soap->user);
// get data ...
return SOAP_OK;
}