Вопрос

Нам нужна платформа веб-сервисов C++ Soap, поддерживающая RPC, желательно с открытым исходным кодом.Есть рекомендации?

Это было полезно?

Решение

Платформа веб-служб WSO2 для C++ (WSO2 WSF/C++), привязка WSO2 WSF/C к C++, представляет собой расширение C++ для использования веб-служб на C++.

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

Apache Axis — это платформа веб-сервисов на основе XML с открытым исходным кодом.Он состоит из реализации SOAP-сервера на Java и C++, а также различных утилит и API-интерфейсов для создания и развертывания приложений веб-служб.

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

Другие советы

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

Staff — это платформа веб-сервисов для C++ (сервис/компонент и клиентская часть)/JavaScript (клиентская сторона) на основе Apache Axis2/C.

Открытый исходный код, выпущен с лицензией Apache V2.0.

Попробуйте ffead-cpp framework, он обеспечивает встроенную поддержку веб-сервисов, отдых, json и многие другие полезные функции.

Мы используем EasySoap (http://easysoap.sourceforge.net/)

Хотя это и не FOSS, существует другая библиотека. АТЛ-сервер библиотека от Microsoft.Это шаблон C++, основанный на некоторых собственных атрибутах Microsoft.то естьне стандартный С++

Вы можете проверить xmlbeansxx.Это своего рода легкое низкоуровневое решение по сравнению с полноценными фреймворками.В некоторых случаях это имеет преимущества.

Вызов веб-служб SOAP с помощью статьи xmlbeansxx

Пример кода здесь:WsClient.cpp.

Вы могли бы попробовать gSOAP.Доступно по GPL и коммерческой лицензии.

я использовал СВИГ создать интерфейс с C++ на Java или Python, а затем использовать типичную поддержку веб-интерфейса для этих языков.

Поскольку Java и Python имеют отражение, существующим для них платформам веб-сервисов гораздо проще передавать данные.

Мудрая потоковая обработка, если ваш код C++ является потокобезопасным, вы можете позволить серверу Java управлять созданием потоков для одновременных запросов и т.д.и просто вызовите свой код C++, используя JNI.

В качестве бонуса вы можете протестировать свой код C++ на Python, используя те же самые интерфейсы SWIG.

Я думаю, что лучше всего написать свой сервис на C++ (я предполагаю, что вы выполнили всю домашнюю работу, и есть веская причина, по которой вы хотите писать на C++), а затем запустить его с помощью RPC-сервера.Используйте что-то вроде Thrift или Protobufs для быстрой реализации RPC.

Теперь напишите свой веб-интерфейс на выбранном вами языке (я бы выбрал Python) и делайте вызовы RPC, чтобы выполнить всю тяжелую работу.

POCO удаленное взаимодействие дает вам очень простой способ создания веб-сервисов на C++, просто аннотируя определения классов C++ специальными комментариями и запуская над ними генератор кода.Это коммерческое решение, но поставляется с полным исходным кодом.Доступна бесплатная ознакомительная версия.Работает в Windows, Linux, Mac OS X и т. д.

Я согласен с ответом imjorge и добавляю, что существует версия C/C++ платформы Axis2 (более гибкая и расширяемая Axis), которая выполняет SOAP через RPC и все виды вещей, включая кучу спецификаций WS-*.

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

Ось Apache-c:Простой в использовании, но кажется заброшенным..даже страницы не загружаются уже несколько месяцев

ВСОФ ВСФКПП:Быстрый быстрый запуск разработки, как с привязкой, так и без привязки, на основе Apache AxisC, и похоже, что большинство нынешних разработчиков Apache Axis из компании WSOF.Помимо Великого потенциала я обнаружил утечку памяти.

В настоящее время я использую Gsoap, и он имеет очень хорошую производительность.Gsoap "смешанная нотация" между старым стилем C и некоторыми (плохими?) практиками для C++ меня немного беспокоит..но это всего лишь код-мебель.

ПОКО:Это полнофункциональная современная (java?) библиотека.Это программное обеспечение с открытым исходным кодом, лицензированное по лицензии Boost Software License 1.0.Вам придется написать некоторые вещи с нуля, но с отличной поддержкой, служебными классами и т. д., отличной библиотекой.Инновации из c++11+ со всеми инициативами повышения + POCO + новая система сборки/зависимости, более «похожая на Gradle», безусловно, выведут C++ в новые области развития.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top