Я ищу простую клиентскую библиотеку С++ WebService, которая может быть легко связана с моим приложением.
Предпочтительно эта библиотека:
- может использоваться для доступа к любому SOAP WebService (поэтому я могу передать URL-адрес, имя WebService, метод WebService и все аргументы в качестве аргументов вызова функции)
- можно связать статически в приложении на С++ (так что нет DLL)
- является бесплатной или доступной по низкой цене
- можно использовать без роялти в моем приложении
- может запросить веб-службу для своего WSDL и вернуть мне доступные имена методов, аргументы методов и их типы данных
Прежде чем кто-нибудь из вас ответит .NET: там, попробовал. Мои основные возражения против .NET:
- вы можете сгенерировать прокси, но впоследствии невозможно изменить имя WebService в сгенерированном прокси-коде, поскольку .NET использует отражение, чтобы проверить имя WebService (см. Динамически вызывать службу SOAP из собственный язык сценариев для моего вопроса относительно этой проблемы)
- генерация прокси-класса "на лету" не всегда работает правильно
Я уже использовал Google для поиска этой информации, но я не смог ее найти.
Спасибо
EDIT: Чтобы прояснить это дальше, я действительно хочу что-то, где я могу написать такой код (или что-то в этом стиле):
SoapClient mySoapClient;
mySoapClient.setURL("http://someserver/somewebservice");
mySoapClient.setMethod("DoSomething");
mySoapClient.setParameter(1,"Hello");
mySoapClient.setParameter(2,12345);
mySoapClient.sendRequest();
string result;
mySoapClient.getResult(result);
Нет генерации динамического кода.