我们正在寻找一个支持 RPC 的 C++ Soap Web 服务框架,最好是开源的。有什么建议吗?

有帮助吗?

解决方案

WSO2 Web Services Framework for C++ (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/

其他提示

http://code.google.com/p/staff/

Staff是基于Apache Axis2/C的C++(服务/组件和客户端)/JavaScript(客户端)的Web服务框架。

开源,使用 Apache License V2.0 发布。

尝试一下 ffead-cpp 框架,它提供内置的 Web 服务支持、rest、json 和许多其他有用的功能。

我们正在使用 EasySoap (http://easysoap.sourceforge.net/)

虽然不是 FOSS,但另一个库是 ATL服务器 来自微软的库。它是基于 Microsoft 的一些专有属性的 C++ 模板。IE。不是标准 C++

您可以查看 xmlbeansxx。与完整的框架相比,这是一种轻量级、低级的解决方案。这在某些情况下具有优势。

使用 xmlbeansxx 调用 SOAP WebServices 文章

代码示例在这里:WsClient.cpp.

你可以尝试 肥皂泡. 。可根据 GPL 和商业许可证使用。

我用过 斯威格 制作从 C++ 到 Java 或 Python 的接口,然后使用这些语言的典型 Web 接口支持。

由于 Java 和 Python 具有反射功能,因此它们所存在的 Web 服务框架可以更轻松地传递数据。

线程方面,如果您的 C++ 代码是线程安全的,您可以让 Java 服务器管理并发请求等线程的创建。只需使用 JNI 调用 C++ 代码即可。

作为奖励,您可以使用这些相同的 SWIG 接口从 Python 测试您的 C++ 代码。

我认为正确的方法是用 C++ 编写服务(我假设您已完成所有作业,并且您有充分的理由想用 C++ 编写),然后使用 RPC 服务器在其前面。使用 Thrift 或 Protobufs 等工具来实现快速 RPC。

现在用您选择的语言编写您的 Web 前端 - python 将是我的 - 并进行 RPC 调用来完成所有繁重的工作。

POCO 远程处理 为您提供了一种在 C++ 中创建 Web 服务的非常简单的方法,只需使用特殊注释注释 C++ 类定义并在其上运行代码生成器即可。它是商业性的,但提供完整的源代码。提供免费评估版本。运行在 Windows、Linux、Mac OS X 等上。

我同意 imjorge 的回答,并补充说,Axis2 框架(一个更灵活、可扩展的 Axis)有一个 C/C++ 版本,它通过 RPC 和各种东西(包括一堆 WS-* 规范)执行 SOAP。

http://ws.apache.org/axis2/c/

Apache 轴-c:使用简单,但似乎被放弃了..甚至下载页面几个月都无法工作

WSOF WSFCPP:快速快速入门开发,无论是绑定还是非绑定实现,基于 Apache AxisC,目前 Apache Axis 的开发人员似乎大部分来自 WSOF 公司。除了巨大的潜力之外,我还发现了内存泄漏。

我目前正在使用 Gsoap,它具有非常好的性能。旧的 C 风格和 C++ 的一些(不好的?)实践之间的 Gsoap“混合符号”让我有些困扰。但这只是代码家具。

波科:是一个功能齐全、现代(java?)的库。它是开源软件,根据 Boost Software License 1.0 获得许可。您必须从头开始编写一些东西,但需要强大的支持、实用程序类等出色的库。来自 c++11+ 的创新以及所有 boost 举措 + POCO + 更“类似 gradle”的新构建/依赖系统肯定会将 c++ 带到新的开发领域。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top