summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorGravatar snowdrop2004-09-13 07:12:33 +0000
committerGravatar snowdrop2004-09-13 07:12:33 +0000
commit3a88be29ecb1a2a67e85d8b8d8649865901b9b86 (patch)
tree807a178ff1a08a3da77d53f180ffd1f4755f370b /examples
parent8787eed7e2ebca3aad48d85f430769e179ee2c21 (diff)
downloadcsoap-3a88be29ecb1a2a67e85d8b8d8649865901b9b86.tar.gz
csoap-3a88be29ecb1a2a67e85d8b8d8649865901b9b86.tar.bz2
made win32 threaded httpd_run not threaded againr1_0_2_beta
Diffstat (limited to 'examples')
-rw-r--r--examples/csoap/simpleserver.c188
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