wsdl2h无法连接到https

时间:2011-11-16 23:13:23

标签: linux ssl https gsoap

我正在尝试使用gSoap连接到使用https保护的网络服务。但是,当我使用https url运行wsdl2h时,会抛出以下错误:

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

我正在构建Fedora Core 14.我使用yum安装了openssl-devel和zlib-devel。我错过了什么?

3 个答案:

答案 0 :(得分:2)

默认情况下,wsdl2h是在不支持SSL的情况下构建的。 gsoap发行版的wsdl代码文件夹中的README.txt文件包含以下内容:

  

使用SSL进行WSDL文件的HTTPS传输

     

您必须使用' make secure'来构建WSDL解析器。建立一个   支持SSL的wsdl2h版本,可以访问HTTPS安全站点。

     

如果您没有安装OpenSSL,则无法构建SSL安全   wsdl2h的版本。在这种情况下,我们建议下载WSDL和   用于使用未启用SSL的wsdl2h工具进行处理的模式文件。

因此,您需要手动下载.wsdl文件并在其上运行现有的wsdl2h或使用 make secure 重建wsdl2h,以便它知道包含SSL库和https支持。

答案 1 :(得分:1)

好吧,至少2.8“安全”只是不起作用。 诀窍是将BOTH 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

答案 2 :(得分:0)

我通过使用Visual Studio 2005构建wsdl2h.exe解决了这个问题,并使用我编译的新wsdl2h.exe运行脚本。

gsoap(2.8.17)中的项目位置是“gsoap-2.8.17 \ gsoap \ VisualStudio2005 \ wsdl2h”

我不得不在项目属性的预处理器中添加'WITH_OPENSSL'。 另外,我必须在项目中添加一些include和lib目录以及一些.c文件来解决编译错误。

重点是使用'WITH_OPENSSL'选项构建wsdl2h.exe。这将解决问题。