我想在Windows上为项目实现Web服务客户端。 我想获得网络服务信息,肥皂请求和肥皂响应。 我需要一个可以用于这些目的的C ++库(而不是wsdlpull)。
要求:
更具体一点:库应该有这样的简单调用来获取Web服务信息
invoker.getOperations(operations);
outputXml += "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n";
outputXml += "<webService";
outputXml += " name=\"" + GetServiceName(&invoker) + "\"";
outputXml += ">\n";
outputXml += "\t<webMethods>\n";
感谢。
答案 0 :(得分:7)
C / C ++ Web服务的行业标准是gsoap。 http://www.cs.fsu.edu/~engelen/soap.html
使用wsdl2h将XML Schema映射到C / C ++。它具有良好的文档和包中的大量样本。也可以找到文档online。您可以在许多操作系统(Linux,Windows等)中轻松移植代码
通过Web服务添加到号码的Simpe示例(调用代码)
#include "soapH.h"
#include "calc.nsmap"
main()
{
struct soap *soap = soap_new();
double result;
if (soap_call_ns__add(soap, 1.0, 2.0, &result) == SOAP_OK)
printf("The sum of 1.0 and 2.0 is %lg\n", result);
else
soap_print_fault(soap, stderr);
soap_end(soap);
soap_free(soap);
}
使用gsoap,您可以分两步完成工作
如果您想创建服务(充当服务器,而不仅仅是客户端代码)
,也是优秀的框架