Общая клиентская библиотека WebService (SOAP) для C ++

Я ищу простую клиентскую библиотеку C ++ WebService, которую можно легко связать с моим приложением.

Предпочтительно эту библиотеку:

  • можно использовать для доступа к любой SOAP WebService (чтобы я мог передать URL, имя WebService, метод WebService и все аргументы в качестве аргументов вызова функции)
  • могут быть связаны статически в приложении C ++ (так что никакие библиотеки DLL)
  • являются бесплатными или доступны по низкой цене
  • могут использоваться бесплатно в моем приложении
  • может запрашивать у Web-сервиса свой WSDL и возвращать мне доступные имена методов, аргументы методов и их типы данных

Прежде, чем кто-либо из вас ответит. .NET: был там, попробовал. Мои основные возражения против .NET:

  • вы можете сгенерировать прокси, но впоследствии невозможно изменить имя WebService в сгенерированном коде прокси, так как .NET использует отражение для проверки имени WebService (см. Динамический вызов службы SOAP из собственного языка сценариев на мой вопрос относительно этой проблемы)
  • создание прокси-класса на лету не Чтобы прояснить это дальше, мне действительно нужно что-то, где я мог бы написать такой код (или что-то в этом стиле):
    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);
    

    Без динамической генерации кода.

14
задан Community 23 May 2017 в 11:54
поделиться