C ++ Web服务框架
我们正在寻找一个支持RPC(最好是开源)的C ++ Soap Web服务框架。
有什么建议吗?
解决方案
回答
我们可以尝试使用gSOAP。根据GPL和商业许可提供。
回答
用于C ++的WSO2 Web服务框架(WSO2 WSF / C ++),是WSO2 WSF / C到C ++的绑定,是用于在C ++中使用Web服务的C ++扩展。
http://wso2.org/projects/wsf/cpp
Apache Axis是一个基于XML的开源Web服务框架。它由SOAP服务器的Java和C ++实现以及用于生成和部署Web服务应用程序的各种实用程序和API组成。
http://ws.apache.org/axis/
回答
我使用SWIG制作了从C ++到Java或者Python的界面,然后使用了对这些语言的典型Web界面支持。
由于Java和Python具有反思能力,因此为它们提供的Web服务框架可以更轻松地传递数据。
如果C ++代码是线程安全的,那么明智地进行线程处理可以让Java服务器管理并发请求等的线程创建,并且只需使用JNI调用C ++代码即可。
另外,我们可以使用这些相同的SWIG接口从Python测试C ++代码。
回答
我认为要走的路是用C ++编写服务(我假设我们已完成所有作业,并且有充分的理由要使用C ++编写),然后使用RPC服务器进行处理。使用Thrift或者Protobufs之类的东西来实现快速RPC。
现在以我们选择的语言编写Web前端,这将是我的python,并进行RPC调用来完成所有繁重的工作。
回答
POCO Remoting为我们提供了一种非常简单的方法,只需在C ++类定义中添加特殊注释并在其上运行代码生成器,即可在C ++中创建Web服务。它是商业性的,但是提供了完整的源代码。提供免费的评估版本。在Windows,Linux,Mac OS X等上运行。
回答
我同意imjorge的回答,并补充说,有一个C / C ++版本的Axis2框架(一种更灵活,可扩展的Axis),它通过RPC和各种方法(包括许多WS- *规范)来进行SOAP。
http://ws.apache.org/axis2/c/
回答
http://code.google.com/p/staff/
Staff是基于Apache Axis2 / C的C ++(服务/组件和客户端)/ JavaScript(客户端)的Web服务框架。
开源,与Apache License V2.0一起发布。
回答
我们正在使用EasySoap(http://easysoap.sourceforge.net/)
回答
虽然不是FOSS,但另一个库是Microsoft的ATL Server库。
它是基于C ++模板的,具有Microsoft的一些专有属性。即不是标准的C ++
回答
我们可以签出xmlbeansxx。与完整的框架相比,这是一种轻量级的低级解决方案。在某些情况下,这具有优势。
使用xmlbeansxx调用SOAP WebServices文章
代码示例在这里:
WsClient.cpp。