wsdl2h не может подключиться к https - PullRequest
1 голос
/ 17 ноября 2011

Я пытаюсь использовать gSoap для подключения к веб-службе, защищенной с помощью https.Однако, когда я запускаю wsdl2h с URL-адресом https, он выдает следующую ошибку:

Cannot connect to https site: no SSL support, please rebuild wsdl2h with SSL or download the files and rerun wsdl2h

Я строю на Fedora Core 14. Я установил openssl-devel и zlib-devel, используя yum.Что я пропустил?

Ответы [ 3 ]

2 голосов
/ 22 ноября 2011

По умолчанию wsdl2h создается без поддержки SSL. Файл README.txt в папке кода wsdl дистрибутива gsoap содержит следующее:

ИСПОЛЬЗОВАНИЕ SSL ДЛЯ ПЕРЕДАЧИ HTTPS ФАЙЛОВ WSDL

Вы должны собрать анализатор WSDL с помощью команды 'make secure', чтобы создать Версия wsdl2h с поддержкой SSL, которая может получить доступ к защищенным HTTPS-сайтам.

Если у вас не установлен OpenSSL, вы не можете создать безопасный SSL версия wsdl2h. В этом случае мы рекомендуем загрузить WSDL и файлы схемы для обработки с помощью wsdl2h без поддержки SSL.

Так что вам нужно либо загрузить файл .wsdl вручную и запустить существующий wsdl2h на нем, либо пересобрать wsdl2h с помощью make secure , чтобы он знал, что он включает библиотеки SSL и поддержку https.

1 голос
/ 01 марта 2012

Ну, по крайней мере, с 2.8 "сделать безопасный" просто не работает. Хитрость заключается в том, чтобы определить ОБА CFLAGS и CPPFLAGS для -DWITH_OPENSSL, а LDFLAGS для -lssl, например:

    CFLAGS='$(CFLAGS) -DWITH_OPENSSL' CXXFLAGS='$(CXXFLAGS) -DWITH_OPENSSL' \
    CPPFLAGS='$(CPPFLAGS) -DWITH_OPENSSL' LDFLAGS='$(LDFLAGS) -lssl' ./configure \
            --prefix=/usr \
            --exec-prefix='$${prefix}' \
            --mandir='$${datadir}/man' \
            --infodir='$${datadir}/info' \
            --enable-ipv6 \
            --enable-samples
0 голосов
/ 26 февраля 2017

Я решил проблему, собрав файл wsdl2h.exe с помощью Visual Studio 2005 и запустив сценарий с новым скомпилированным файлом wsdl2h.exe.

Расположение проекта в gsoap (2.8.17) - «gsoap-2.8»..17 \ gsoap \ VisualStudio2005 \ wsdl2h "

Мне пришлось добавить 'WITH_OPENSSL' в препроцессор свойств проекта.Кроме того, мне пришлось добавить несколько каталогов include и lib и некоторые файлы .c в проект для устранения ошибок компиляции.

Смысл в том, чтобы собрать wsdl2h.exe с помощью параметра WITH_OPENSSL.Это решит проблему.

...