3

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

4

12 回答 12

10

WSO2 Web Services Framework for C++ (WSO2 WSF/C++),WSO2 WSF/C 到 C++ 的绑定是一个 C++ 扩展,用于在 C++ 中使用 Web 服务。

http://wso2.org/projects/wsf/cpp

Apache Axis 是一个开源的、基于 XML 的 Web 服务框架。它由 SOAP 服务器的 Java 和 C++ 实现,以及用于生成和部署 Web 服务应用程序的各种实用程序和 API 组成。

http://ws.apache.org/axis/

于 2008-09-15T19:52:22.847 回答
3

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

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

开源,随 Apache License V2.0 一起发布。

于 2009-05-07T09:26:35.490 回答
2

试试ffead-cpp框架,它提供了内置的 web-service 支持、rest、json 和许多其他有用的功能。

于 2011-05-28T06:49:01.383 回答
1

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

于 2009-10-27T08:58:51.140 回答
1

虽然不是 FOSS,但另一个库是Microsoft 的ATL Server库。它是基于 C++ 模板,具有 Microsoft 的一些专有属性。即不是标准的C++

于 2009-10-27T09:40:46.963 回答
1

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

使用 xmlbeansxx 调用 SOAP WebServices 文章

代码示例在这里: WsClient.cpp

于 2010-02-07T14:24:44.230 回答
0

你可以试试gSOAP。在 GPL 和商业许可下可用。

于 2008-09-15T19:49:37.360 回答
0

我使用SWIG制作了从 C++ 到 Java 或 Python 的界面,然后使用了对这些语言的典型 Web 界面支持。

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

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

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

于 2008-09-15T21:00:21.140 回答
0

我认为要走的路是用 C++ 编写你的服务(我假设你做了所有的功课,你有充分的理由想用 C++ 编写),然后使用 RPC 服务器在它前面。使用 Thrift 或 Protobufs 之类的东西来实现快速的 RPC。

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

于 2008-09-15T21:03:24.563 回答
0

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

于 2008-09-15T21:18:51.937 回答
0

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

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

于 2008-09-17T14:04:39.123 回答
0

Apache axis-c:易于使用,但似乎已被废弃.. 甚至下载页面都无法运行几个月

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

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

POCO:是一个功能齐全的现代(java?)类库。它是开源软件,在 Boost Software License 1.0 下获得许可。你必须从头开始写一些东西,但是有很好的支持、实用程序类和等等很棒的库。来自 c++11+ 的创新以及所有的提升计划 + POCO + 一个新的构建/依赖系统更“类似于 gradle”将无疑将 c++ 带入了新的开发领域。

于 2013-11-26T16:30:36.567 回答