From 65985c4e6527c82a75367d9c5418b009dfbc6379 Mon Sep 17 00:00:00 2001 From: m0gg Date: Sun, 26 Nov 2006 20:13:05 +0000 Subject: soap.udp transport added (alpha) --- examples/csoap/simpleserver.c | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) (limited to 'examples/csoap/simpleserver.c') diff --git a/examples/csoap/simpleserver.c b/examples/csoap/simpleserver.c index 03c3c5d..5803a33 100644 --- a/examples/csoap/simpleserver.c +++ b/examples/csoap/simpleserver.c @@ -1,5 +1,5 @@ /****************************************************************** - * $Id: simpleserver.c,v 1.25 2006/11/25 17:03:20 m0gg Exp $ + * $Id: simpleserver.c,v 1.26 2006/11/26 20:13:05 m0gg Exp $ * * CSOAP Project: CSOAP examples project * Copyright (C) 2003-2004 Ferhat Ayaz @@ -45,28 +45,40 @@ say_hello(struct SoapCtx *req, struct SoapCtx *res) { herror_t err; char *name; + xmlNodePtr method, node; - printf("service request"); + printf("processing service request\n"); - xmlNodePtr method, node; + xmlDocFormatDump(stdout, req->env->root->doc, 1); err = soap_env_new_with_response(req->env, &res->env); if (err != H_OK) { + printf("soap_env_new_with_response failed (%s)\n", herror_message(err)); return err; } + printf("empty response created\n"); - method = soap_env_get_method(req->env); - node = soap_xml_get_children(method); + if (!(method = soap_env_get_method(req->env))) + { + printf("soap_env_get_method failed\n"); + return herror_new("say_hello", 0, "There may be a bug in the library..."); + } + printf("method found\n"); + printf("adding response content...\n"); + node = soap_xml_get_children(method); while (node) { name = (char *) xmlNodeListGetString(node->doc, node->xmlChildrenNode, 1); soap_env_add_itemf(res->env, "xsd:string", "echo", "Hello '%s'", name); node = soap_xml_get_next(node); - xmlFree(name); + if (name) + xmlFree(name); } + printf("service request done\n"); + return H_OK; } @@ -102,7 +114,7 @@ main(int argc, char **argv) if ((err = soap_server_register_router(router, url))) { - printf("%s(): %s [%s]\n", herror_func(err), herror_message(err), herror_code(err)); + printf("%s(): %s [%d]\n", herror_func(err), herror_message(err), herror_code(err)); herror_release(err); exit(1); } @@ -111,7 +123,7 @@ main(int argc, char **argv) printf("press ctrl-c to shutdown\n"); if ((err = soap_server_run()) != H_OK) { - printf("%s(): %s [%s]\n", herror_func(err), herror_message(err), herror_code(err)); + printf("%s(): %s [%d]\n", herror_func(err), herror_message(err), herror_code(err)); herror_release(err); exit(1); } -- cgit v1.1-32-gdbae