⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 quotex.cpp

📁 linux下简单对象应用协议的开发库
💻 CPP
字号:
/*	quotex.cpp	This example is both a SOAP service and a client application.	As a CGI program, it will serve currency-converted stock quote requests.	As a client, it will return the currency-converted stock quote given as	arguments to the program on the command-line. For example	> quotex AOL uk*/#include "soapH.h"	// include generated proxy and SOAP support#include "quotex.nsmap"	// include generated namespace map fileconst char endpoint[] = "http://websrv.cs.fsu.edu/~engelen/quotex.cgi";int main(int argc, char **argv){ struct soap *soap = soap_new();  float q;  if (argc <= 2)  { soap->user = soap_new(); // pass a new gSOAP environment which we need to make server-side client calls    soap_serve(soap);	// serve request    soap_destroy((struct soap*)soap->user);    soap_end((struct soap*)soap->user);    soap_done((struct soap*)soap->user);    free(soap->user);    soap->user = NULL;  }  else if (soap_call_ns3__getQuote(soap, endpoint, NULL, argv[1], argv[2], q) == 0)    printf("\nCompany %s: %f (%s)\n", argv[1], q, argv[2]);  else  { soap_print_fault(soap, stderr);    soap_print_fault_location(soap, stderr);  }  soap_destroy(soap);  soap_end(soap);  soap_done(soap);  free(soap);  return 0;}int ns3__getQuote(struct soap *soap, char *symbol, char *country, float &result){ float q, r;  // soap->user contains an environment that we can use to make calls that do not interfere with the current service environment  if (soap_call_ns1__getQuote((struct soap*)soap->user, "http://services.xmethods.net/soap", NULL, symbol, q) == 0 &&      soap_call_ns2__getRate((struct soap*)soap->user, "http://services.xmethods.net/soap", NULL, "us", country, r) == 0)  { result = q*r;    return SOAP_OK;  }  soap_receiver_fault(soap, *soap_faultstring((struct soap*)soap->user), NULL);  return SOAP_FAULT;	// pass soap fault messages on to the client of this app}/*	Since this app is a combined client-server, it is easy to put it together with * 	one header file that describes all remote methods. However, as a consequence we *	have to implement the methods that are not ours. Since these implementations are * 	never called, we can make them dummies. */int ns1__getQuote(struct soap *soap, char *symbol, float &Result){ return SOAP_NO_METHOD; } // dummy: will never be calledint ns2__getRate(struct soap *soap, char *country1, char *country2, float &Result){ return SOAP_NO_METHOD; } // dummy: will never be called

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -