------------------ q.h --------------------------- /* plik naglowkowy serwera soap */ // --- //gsoap ns service name: qqq //gsoap ns service namespace: qqq //gsoap ns service style: rpc //gsoap ns service encoding: encoded // gsoap ns service style: document // gsoap ns service encoding: literal // --- struct ns__t_mojaStruct { // zwroc uwage na przedrostek ns__ !!! int a, b, c; }; struct ns__t_tabStruct { struct ns__t_mojaStruct *__ptr; int __size; }; int ns__zwrocCos( int liczba, struct ns__t_tabStruct *return_ ); int ns__zwrocCos2( struct ns__t_tabStruct *par, struct ns__t_tabStruct *return_ ); ----------------------- q_serv.c ----------------------- /* implementacja serwera soap */ // --- #include "qqq.nsmap" int main2() { int b; struct soap soap; soap_init(&soap); b=soap_bind(&soap, NULL, 10000, 100); // 10000 -nr portu if(b<0) {soap_print_fault(&soap, stderr); soap_done(&soap); exit(1);} while (1) { soap_accept(&soap); // czeka na soap msg soap_serve(&soap); // obsluga soap_end(&soap); // zwalniani pamieci printf("."); fflush(stdout); } return 0; } // --- int ns__zwrocCos(struct soap* soap, int liczba, struct ns__t_tabStruct *return_) { int i, d; struct ns__t_mojaStruct *f2; d= liczba; return_->__size= d; f2= soap_malloc(soap, d*sizeof(struct ns__t_mojaStruct)); return_->__ptr= f2; for(i=0; i__size; f1= par->__ptr; return_->__size= d; f2= soap_malloc(soap, d*sizeof(struct ns__t_mojaStruct)); return_->__ptr= f2; for(i=0; i