summaryrefslogtreecommitdiffstats
path: root/examples/ex1
diff options
context:
space:
mode:
Diffstat (limited to 'examples/ex1')
-rw-r--r--examples/ex1/Makefile.am3
-rw-r--r--examples/ex1/simple.c57
2 files changed, 14 insertions, 46 deletions
diff --git a/examples/ex1/Makefile.am b/examples/ex1/Makefile.am
index e27d218..468203c 100644
--- a/examples/ex1/Makefile.am
+++ b/examples/ex1/Makefile.am
@@ -1,6 +1,9 @@
bin_PROGRAMS=simple
simple_SOURCES=simple.c
INCLUDES=-I$(top_srcdir)/ $(LIBXML_CFLAGS)
+LDFLAGS=-L$(top_builddir)/nanohttp -lnanohttp-$(GENERIC_API_VERSION) \
+ $(LIBSOCKET) $(LIBNSL) -lpthread
+
simple_LDFLAGS=-L$(top_builddir)/libcsoap/ -lcsoap-$(GENERIC_API_VERSION) \
$(LIBXML_LIBS)
diff --git a/examples/ex1/simple.c b/examples/ex1/simple.c
index 3568865..f026d84 100644
--- a/examples/ex1/simple.c
+++ b/examples/ex1/simple.c
@@ -1,5 +1,5 @@
/******************************************************************
- * $Id: simple.c,v 1.2 2003/11/14 09:59:41 snowdrop Exp $
+ * $Id: simple.c,v 1.3 2004/01/30 16:39:59 snowdrop Exp $
*
* CSOAP Project: CSOAP examples project
* Copyright (C) 2003 Ferhat Ayaz
@@ -21,7 +21,7 @@
* Email: ayaz@jprogrammer.net
******************************************************************/
-#include <libcsoap/csoap.h>
+#include <libcsoap/soap-call.h>
static const char *url = "http://csoap.sourceforge.net/cgi-bin/csoapserver";
@@ -31,52 +31,17 @@ static const char *method = "sayHello";
int main(int argc, char *argv[])
{
- /* Objects to do a soap call */
- HSOAPCALL call;
- HSOAPRES result;
- HSOAPPARAM res;
- HSOAPFAULT fault;
+ SoapCall *call;
+ xmlDocPtr doc;
- char *str;
+ call = soap_call_new(urn, method);
+ soap_call_add_param(call, "xsd:string", "name", "Jonny B. Good");
+
+ doc = soap_call_invoke(call, url);
+ soap_xml_doc_print(doc);
+ xmlFreeDoc(doc);
- /* Initialize CSOAP */
- SoapInit(argc, argv);
-
- /* Create a soap call object */
- call = SoapCallCreate((argc>1)?argv[1]:url, urn, method);
-
- /* Add the only parameter for the soap call */
- SoapCallAddStringParam(call, "name", "John B. Good");
-
- /* Now invoke the call. Here we try to */
- /* establish a network (http) communication */
- result = SoapCallInvoke(call);
-
- /* Check if the call was succesfull*/
- if (result == NULL) {
- fprintf(stderr, "Can not send the soap call\n");
- exit(1);
- }
-
- /* Now check if we received a fault object */
- if (fault = SoapResGetFault(result)) {
-
- /* Use the default printer */
- SoapFaultPrint(stdout, fault);
-
- } else {
-
- /* Print the only string in the response */
- res = SoapResGetParamChildren(result);
-
- if (res != NULL) {
- str = SoapParamToString(res);
- fprintf(stdout, "Server: '%s'\n", str);
- free(str);
- } else {
- fprintf(stderr, "Corrupt response!\n");
- }
- }
+ free(call);
return 0;
}