diff options
| author | 2004-09-13 07:12:33 +0000 | |
|---|---|---|
| committer | 2004-09-13 07:12:33 +0000 | |
| commit | 3a88be29ecb1a2a67e85d8b8d8649865901b9b86 (patch) | |
| tree | 807a178ff1a08a3da77d53f180ffd1f4755f370b /examples/csoap | |
| parent | 8787eed7e2ebca3aad48d85f430769e179ee2c21 (diff) | |
| download | csoap-r1_0_2_beta.tar.gz csoap-r1_0_2_beta.tar.bz2 | |
made win32 threaded httpd_run not threaded againr1_0_2_beta
Diffstat (limited to 'examples/csoap')
| -rw-r--r-- | examples/csoap/simpleserver.c | 188 | 
1 files changed, 88 insertions, 100 deletions
| diff --git a/examples/csoap/simpleserver.c b/examples/csoap/simpleserver.c index f4b7bef..85ea78f 100644 --- a/examples/csoap/simpleserver.c +++ b/examples/csoap/simpleserver.c @@ -1,103 +1,91 @@ -/****************************************************************** - * $Id: simpleserver.c,v 1.7 2004/09/07 18:43:49 rans Exp $ - * - * CSOAP Project:  CSOAP examples project - * Copyright (C) 2003  Ferhat Ayaz - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA02111-1307USA - * - * Email: ayaz@jprogrammer.net - ******************************************************************/ - -#include <libcsoap/soap-server.h> - - -static const char *url = "/csoapserver"; -static const char *urn = "urn:examples"; -static const char *method = "sayHello"; - - -void add_name(xmlNodePtr node, SoapEnv *env) -{ -  char *name; -  name = (char*)xmlNodeListGetString(node->doc, -				     node->xmlChildrenNode, 1); - - -  if (!name) return; - -  soap_env_add_itemf(env,"xsd:string", "echo", -		     "Hello '%s'", name); - -  xmlFree(BAD_CAST name); - -} - - -SoapEnv* say_hello(SoapEnv *request) -{ - -  SoapEnv *env; -  xmlNodePtr method, node; - -  env = soap_env_new_with_response(request); - -  method = soap_env_get_method(request); -  node = soap_xml_get_children(method); - -  while (node) { -    add_name(node, env); -    node = soap_xml_get_next(node); -  } - -  return env; -} - - -int main(int argc, char *argv[]) -{ -  char c; -  SoapRouter *router; - -  log_set_level(HLOG_VERBOSE); - -  if (!soap_server_init_args(argc, argv)) { -    return 1; -  } - +/******************************************************************
 + * $Id: simpleserver.c,v 1.8 2004/09/13 07:12:33 snowdrop Exp $
 + *
 + * CSOAP Project:  CSOAP examples project 
 + * Copyright (C) 2003  Ferhat Ayaz
 + *
 + * This program is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
 + * the Free Software Foundation; either version 2 of the License, or
 + * (at your option) any later version.
 + *
 + * This program is distributed in the hope that it will be useful,
 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 + * GNU General Public License for more details.
 + *
 + * You should have received a copy of the GNU General Public License
 + * along with this program; if not, write to the Free Software
 + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA02111-1307USA
 + *
 + * Email: ayaz@jprogrammer.net
 + ******************************************************************/
 +
 +#include <libcsoap/soap-server.h>
 +
 +
 +static const char *url = "/csoapserver";
 +static const char *urn = "urn:examples";
 +static const char *method = "sayHello";
 +
 +
 +void add_name(xmlNodePtr node, SoapEnv *env)
 +{
 +  char *name;
 +  name = (char*)xmlNodeListGetString(node->doc, 
 +				     node->xmlChildrenNode, 1);
 +
 +
 +  if (!name) return;
 +
 +  soap_env_add_itemf(env,"xsd:string", "echo", 
 +		     "Hello '%s'", name);
 +
 +  xmlFree(BAD_CAST name);
 +
 +}
 +
 +
 +SoapEnv* say_hello(SoapEnv *request)
 +{
 +
 +  SoapEnv *env;
 +  xmlNodePtr method, node;
 +
 +  env = soap_env_new_with_response(request);
 +
 +  method = soap_env_get_method(request);
 +  node = soap_xml_get_children(method);
 +
 +  while (node) {
 +    add_name(node, env);
 +    node = soap_xml_get_next(node);
 +  }
 +
 +  return env;
 +}
 +
 +
 +int main(int argc, char *argv[])
 +{
 +
 +  SoapRouter *router;
 +  
 +  log_set_level(HLOG_VERBOSE);
 +
 +  if (!soap_server_init_args(argc, argv)) {
 +    return 1;
 +  }
 +  
    router = soap_router_new();
    soap_router_register_service(router, say_hello, method, urn);
    soap_server_register_router(router, url);
 - -#ifndef WIN32 -  log_info1("send SIGTERM to shutdown"); -#endif -  soap_server_run(); - -#ifdef WIN32 -  log_info1("press ENTER to continue!"); -  gets(&c); -#endif - -  log_info1("shutting down\n"); -  soap_server_destroy(); - -  return 0; -} - - - - - +
 +  log_info1("send SIGTERM to shutdown");
 +  soap_server_run();
 +
 +  log_info1("shutting down\n"); 
 +  soap_server_destroy();
 +
 +  return 0;
 +}
\ No newline at end of file | 
