выбор библиотеки SOAP для интеграции с веб-приложением ISAPI - PullRequest
0 голосов
/ 01 ноября 2008

Компания, в которой я работаю, имеет большое веб-приложение, написанное на C ++ как расширение ISAPI (а не фильтр). В настоящее время мы улучшаем нашу систему для интеграции с несколькими сторонними инструментами, которые имеют интерфейсы SOAP. Вместо того, чтобы накатывать свои собственные, я думаю, что было бы лучше, если бы мы использовали библиотеку SOAP. В идеале это было бы бесплатно и с открытым исходным кодом, но иметь лицензию, совместимую с коммерческим программным обеспечением с закрытым исходным кодом. Нам также необходимо поддерживать SSL как для входящих, так и для исходящих сообщений SOAP.

Одна из самых больших проблем, с которыми я сталкиваюсь, заключается в том, что каждая библиотека SOAP, на которую я смотрел, имеет два режима работы: автономный сервер и серверный модуль (либо модуль Apache, либо фильтр ISAPI). Очевидно, что мы не можем использовать автономный сервер. Мне кажется, что если он работает как модуль, он не будет частью моего приложения - у него не будет доступа к остальной части моего кода, поэтому он не сможет обмениваться структурами данных и т. Д. Это правильное предположение? Каждый HTTP-запрос, обрабатываемый нашим приложением, обрабатывается отдельным потоком (мы управляем нашим собственным пулом потоков), но у нас есть много постоянных данных, которые распределяются между этими потоками. Я думаю, что тип интеграции, который я ищу, - это добавить некоторый код в мое приложение, которое просматривает URL-адрес запроса, видит, что оно пытается получить доступ к службе SOAP, и вызывает некоторую функцию, например soapService.handleRequest (). Я не знаю ничего, что предлагает такую ​​интеграцию. Мы должны иметь возможность использовать структуры данных из нашего основного приложения в функциях обработчика SOAP.

Помимо обработки входящих запросов SOAP, мы также собираемся генерировать их (двунаправленная связь с третьими сторонами). Я предполагаю, что практически любая библиотека SOAP будет выполнять эту задачу, верно?

Может ли кто-нибудь предложить библиотеку SOAP, способную на это, или предложить, как использовать другую парадигму? Я уже смотрел на Apache Axis2, gSOAP и AlchemySOAP, но, возможно, есть некоторые из них, которые я упустил из виду. Спасибо.

Ответы [ 3 ]

0 голосов
/ 04 декабря 2008

GSoap - это отличный кросс-платформенный пакет с открытым исходным кодом для мыльного стека.

БЫСТРО.

Отличное взаимодействие.

Многие библиотеки мыла с открытым исходным кодом не имеют большого взаимодействия с java / c # / python / что угодно.

Он анализирует ОГРОМНЫЕ полезные нагрузки, используя очень мало памяти.

Это открытый исходный код!

Поскольку вы используете расширение IIS, вам нужно добавить gsoap в ваше приложение, перекомпилируйте dll расширения с помощью этого: http://aberger.at/SOAP/iis_index.html и вы должны быть готовы к работе.

gSoap http://www.cs.fsu.edu/~engelen/soap.html

0 голосов
/ 13 февраля 2009

GSOAP прекрасно работает для кода C ++

0 голосов
/ 02 ноября 2008

Взгляните на Сервер ATL Эта библиотека раньше поставлялась с Visual C ++, но теперь это отдельный проект с открытым исходным кодом

...