Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
一个好的C++;SOAP库 < C++中SOAP开发的替代方案是什么?您更喜欢哪一个并且最受支持/现代?_C++_Web Services_Soap - Fatal编程技术网

一个好的C++;SOAP库 < C++中SOAP开发的替代方案是什么?您更喜欢哪一个并且最受支持/现代?

一个好的C++;SOAP库 < C++中SOAP开发的替代方案是什么?您更喜欢哪一个并且最受支持/现代?,c++,web-services,soap,C++,Web Services,Soap,不久前我不得不为一个项目进行SOAP调用,我找到的唯一可接受的解决方案是GSOAP 它支持C和C++代码,虽然与C++的工作比较好,更容易理解。虽然它与我们的WCF web服务不兼容,这意味着我们必须手动编辑自动生成的源代码,但它工作正常。我不久前偶然发现了gsoap,但我并不十分喜欢它的界面和代码生成器。正如我所记得的,文档非常缺乏(或者至少是非常困难的格式) 不过,在不久的将来,可能会增加套接字支持。至少,我不久前向开发人员提出了这个建议,他似乎认为这是个想法,几个月后,API中出现了一个

不久前我不得不为一个项目进行SOAP调用,我找到的唯一可接受的解决方案是GSOAP


<>它支持C和C++代码,虽然与C++的工作比较好,更容易理解。虽然它与我们的WCF web服务不兼容,这意味着我们必须手动编辑自动生成的源代码,但它工作正常。

我不久前偶然发现了gsoap,但我并不十分喜欢它的界面和代码生成器。正如我所记得的,文档非常缺乏(或者至少是非常困难的格式)

不过,在不久的将来,可能会增加套接字支持。至少,我不久前向开发人员提出了这个建议,他似乎认为这是个想法,几个月后,API中出现了一个XML解析器。我非常喜欢这个库,如果不是GPL,我肯定会更多地使用它。

有一个名为SmartSOAP的辅助项目,它非常整洁,我认为,它有一个非常完整的堆栈,从SocketStream开始,一直到HttpRequest/Response对象。具有一个小的(实际需要的)XML DOM类抽象,并可升级到SOAP。它甚至附带了一个WSDL解析器来为您创建代理类。它大量使用模板和STL。而且是非常棒的C++。在Windows Mobile上工作

虽然它不是非常丰富,但没有SSL之类的特性。但是,由于代码是纯艺术,我想它可以很容易地理解和扩展自己

许可证是新的BSD

免责声明;我实现了它…

查看ApacheAxis。这是我一直最喜欢的SOAP实现。做得对!C++和java的存在。
而且,按照最好的传统,它是免费和开源的。

所以,享受吧

如果您是为Windows编写的,Microsoft有一个与Windows 7 SDK(以及visual studio 2013及更高版本)一起提供的名为WSUTIL的实用程序。它在给定WDSL文件的情况下生成C代理,如本例所示


p> < p>肥皂,如果你在QT+C++中。这是URL

Axis是否支持异步查询?我还想向您介绍Axis2/C,它是Axis2体系结构的C版本,比Axis1灵活得多。请看,apache链接仍然处于活动状态,但下载镜像站点似乎都不起作用。有人知道Axis是否仍然受支持/可用吗?看起来没有…我不鼓励你使用Axis。。。这个项目似乎已经死了,当你找到一个bug时,你将不得不自己解决这个bug(我们在代理/HTTPS+偶尔崩溃方面遇到了问题)。最好找到一个构建SOAP消息的库,自己用系统API发送请求(例如:Windows上的WININET)Gsoap是GPL,因此,这可能不是最佳选择。我已经使用gsoap好几年了,我可以告诉您,版本2.7.x之前的旧gsoap版本是根据基于MPL的商业友好许可证授权的,gsoap库和soapcpp2工具也是如此,但wsdl2h工具和生成的代码在所有过去和最近的gsoap版本中都是GPLv2,所以你可能需要一个专有许可证。2.8.x版本涵盖了GPLv2和专有许可下的更新的soapcpp2工具。另外,根据我的经验,您通过专有许可证获得的支持非常好。