镇江英科医疗:gsoap例子
来源:百度文库 编辑:中财网 时间:2024/05/07 12:44:35
#include "soapH.h"
#include "ns.nsmap"const char magicserver[] = "localhost:18081";int main(int argc, char **argv)
{
struct soap *soap = soap_new();
double a, b, result; if (argc > 3)
{
a = atoi(argv[1]);
b = atoi(argv[3]);
}
else
{
return -1;
} switch(*argv[2])
{
case ‘+‘ :
if (soap_call_ns__add(soap, magicserver, "", a, b, result) == 0)
{
printf("%f+%f=%f\n", a, b, result);
}
else
{
soap_print_fault(soap, stderr);
}
break;
case ‘-‘ :
if (soap_call_ns__sub(soap, magicserver, "", a, b, result) == 0)
{
printf("%f-%f=%f", a, b, result);
}
else
{
soap_print_fault(soap, stderr);
}
break;
default :
printf("Please input valid symbol!\n");
break;
}
return 0;
} #include "soapH.h"
#include "ns.nsmap"int main(int argc, char **argv)
{
struct soap soap;
int m, s;
soap_init(&soap);
if (argc < 3)
{
soap_serve(&soap);
soap_destroy(&soap);
soap_end(&soap);
}
else
{
m = soap_bind(&soap, argv[1], atoi(argv[2]), 100);
if (m < 0)
{
exit(-1);
}
fprintf(stderr, "Socket connection successful %d\n", m);
for (int i = 1; ; i++)
{
s = soap_accept(&soap);
if (s < 0)
{
exit(-1);
}
fprintf(stderr, "%d: accepted %d IP=%d.%d.%d.%d ... ", i, s, (int)(soap.ip>>24)&0xFF, (int)(soap.ip>>16)&0xFF, (int)(soap.ip>>8)&0xFF, (int)soap.ip&0xFF);
soap_serve(&soap);
fprintf(stderr, "served\n");
soap_destroy(&soap);
soap_end(&soap);
}
}
return 0;
}int ns__add(struct soap *soap, double a, double b, double &result)
{
result = a + b;
return SOAP_OK;
}int ns__sub(struct soap *soap, double a, double b, double &result)
{
result = a - b;
return SOAP_OK;
}
#include "ns.nsmap"const char magicserver[] = "localhost:18081";int main(int argc, char **argv)
{
struct soap *soap = soap_new();
double a, b, result; if (argc > 3)
{
a = atoi(argv[1]);
b = atoi(argv[3]);
}
else
{
return -1;
} switch(*argv[2])
{
case ‘+‘ :
if (soap_call_ns__add(soap, magicserver, "", a, b, result) == 0)
{
printf("%f+%f=%f\n", a, b, result);
}
else
{
soap_print_fault(soap, stderr);
}
break;
case ‘-‘ :
if (soap_call_ns__sub(soap, magicserver, "", a, b, result) == 0)
{
printf("%f-%f=%f", a, b, result);
}
else
{
soap_print_fault(soap, stderr);
}
break;
default :
printf("Please input valid symbol!\n");
break;
}
return 0;
} #include "soapH.h"
#include "ns.nsmap"int main(int argc, char **argv)
{
struct soap soap;
int m, s;
soap_init(&soap);
if (argc < 3)
{
soap_serve(&soap);
soap_destroy(&soap);
soap_end(&soap);
}
else
{
m = soap_bind(&soap, argv[1], atoi(argv[2]), 100);
if (m < 0)
{
exit(-1);
}
fprintf(stderr, "Socket connection successful %d\n", m);
for (int i = 1; ; i++)
{
s = soap_accept(&soap);
if (s < 0)
{
exit(-1);
}
fprintf(stderr, "%d: accepted %d IP=%d.%d.%d.%d ... ", i, s, (int)(soap.ip>>24)&0xFF, (int)(soap.ip>>16)&0xFF, (int)(soap.ip>>8)&0xFF, (int)soap.ip&0xFF);
soap_serve(&soap);
fprintf(stderr, "served\n");
soap_destroy(&soap);
soap_end(&soap);
}
}
return 0;
}int ns__add(struct soap *soap, double a, double b, double &result)
{
result = a + b;
return SOAP_OK;
}int ns__sub(struct soap *soap, double a, double b, double &result)
{
result = a - b;
return SOAP_OK;
}