blob: bdeec338ef258865a20524b7d7e83a8ef91207a7 [file] [log] [blame]
/* ckdbtest.c
Test client for HTTP cookie database manager.
Copyright (C) 2000-2002 Robert A. van Engelen. All Rights Reserved.
1. Compile ckdb.h:
soapcpp2 -cpckdb ckdb.h
2. Compile ckdb.c:
gcc -DWITH_COOKIES -DWITH_NOGLOBAL -c ckdb.c
3. Compile and link ckdbtest.c:
soapcpp2 -c ckdbtest.h
gcc -DWITH_COOKIES ckdbtest.c ckdb.o stdsoap2.c soapC.c soapClient.c
4. Execute
Cookies will be stored in 'jar.xml'
*/
#include "soapH.h"
#include "ckdbtest.nsmap"
char ckserver[] = "http://www.cs.fsu.edu/~engelen/ck.cgi";
int main()
{ struct soap soap;
char *r;
soap_init(&soap);
if (soap_call_ck__demo(&soap, ckserver, NULL, &r))
{ soap_print_fault(&soap, stderr);
soap_print_fault_location(&soap, stderr);
exit(-1);
}
printf("The server responded with: %s\n", r);
if (soap_save_cookies(&soap, "jar.xml"))
fprintf(stderr, "Cannot store cookies\n");
soap_free_cookies(&soap);
if (soap_load_cookies(&soap, "jar.xml"))
fprintf(stderr, "Cannot restore cookies\n");
else
printf("Got cookies (%s=%s)\n", soap.cookies->name, soap.cookies->value);
if (soap_call_ck__demo(&soap, ckserver, NULL, &r))
{ soap_print_fault(&soap, stderr);
soap_print_fault_location(&soap, stderr);
exit(-1);
}
printf("The server responded with: %s\n", r);
if (soap_save_cookies(&soap, "jar.xml"))
fprintf(stderr, "Cannot store cookies\n");
soap_end(&soap); /* This will delete the deserialized cookies too! */
soap.cookies = NULL; /* so make sure this is NULL */
return 0;
}