Я столкнулся с той же проблемой сегодня.Я использовал Ubuntu 14.04 на VirtualBox и Gsoap 2.8.21.
Я сгенерировал прокси-классы C ++ с помощью команды:
soapcpp2 -1 -I/opt/libraries/gsoap/build/2.8.21/share/gsoap/import -C -j temporary.h
Во-первых, я использовал вышеупомянутое решение и установил для ssl_flags значение SOAP_SSL_NO_AUTHENTICATION.Благодаря этой ошибке исчезли.
Более того, я заметил, что при изменении флагов на SOAP_TLSv1 ошибки также исчезают.Флаг, который вызывает головные боли, был SOAP_SSL_REQUIRE_SERVER_AUTHENTICATION, который по умолчанию установлен внутри флага SOAP_SSL_DEFAULT.
Все выглядело нормально, пока я не перекомпилировал gsoap из источника с флагом --enable-debug.Вскоре после того, как я начал видеть что-то вроде:
Ошибка проверки SSL или предупреждение с сертификатом на глубине 1: невозможно получить сертификат локального эмитента
Лучшее решение, которое я нашел, такдалеко скачать файл cacerts.pem с сайта gsoap https://www.cs.fsu.edu/~engelen/cacerts.pem.zip и распаковать их рядом с исполняемым файлом.
И, конечно, в вашем коде должно быть что-то похожее на:
soap *soap = soap_new();
soap->ssl_flags = SOAP_SSL_DEFAULT;
soap_register_plugin(soap, soap_wsse);
soap->cafile = "cacerts.pem";
Тогда все предупреждения и сообщения об ошибках исчезают.