2008-09-15 9 views
2

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

ответ

9

WSO2 Web Services Framework для C++ (WSO2 WSF/C++), привязка WSO2 WSF/C на C++ является расширением C++ для использования веб-сервисов на C++.

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

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

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

+0

После того, как вы попробовали несколько разных пакетов, мы обнаружили, что Axis является самой полной и простой в использовании библиотекой lib. – Raz 2008-10-29 06:58:48

0

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

0

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

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

Threading wise, если ваш код на C++ является потокобезопасным, вы можете позволить серверу Java управлять созданием потоков для одновременных запросов и т. Д. И просто вызвать ваш код на C++ с помощью JNI.

В качестве бонуса вы можете протестировать свой код на C++ с Python с помощью этих же интерфейсов SWIG.

0

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

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

0

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

0

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

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

3

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

Персонал Web Service Framework для C++ (сервис/компонента и на стороне клиента)/JavaScript (на стороне клиента) на основе Apache Axis2/C.

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

+0

Будет ли это работать над linux? – Moonlit 2013-08-07 17:12:07

0

Пока не FOSS другая библиотека ATL Server библиотека от Microsoft. Это шаблон C++, основанный на некоторых проприетарных атрибутах от Microsoft. то есть не стандарт C++

+0

Ирония этого заключается в том, что так же, как он был сброшен msft на CPlex, Google начал развертывать свои собственные, очень похожие по структуре. – 2009-10-27 09:43:47

0

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

Invoking SOAP WebServices using xmlbeansxx Article

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

2

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

0

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

WSOF WSFCPP: Fast Quickstart DEV, оба переплетены или нет-переплетены реализации, на основе Apache AxisC, и, похоже, большинство современных разработчиков Apache Axis принадлежат компании WSOF. Помимо Большого потенциала я обнаружил утечку памяти.

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^