- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我需要在 C++ 中使用 gsoap 库,我需要使用 https。文档说明了如何在 C 中使用 HTTPS,而不是在 C++ 中 (http://www.cs.fsu.edu/~engelen/soapdoc2.html#tth_sEc19.20)。特别是,我在 soap_ssl_init();
函数上有计算错误。我查看了/usr/lib/libgsoap* 文件并找到了 ligsoapssl++.a 文件并链接到它。此错误已消失,但我收到 error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
。这意味着我需要调用 soap_ssl_client_context
func,但 C++ 生成的类中没有。我该怎么办?
UPD:我已经自己解决了这个问题。但这是古怪的,非常古怪的方式。 gSOAP 生成继承自 struct soap 的 C++ 类,它包含以下属性:
BIO *bio;
SSL *ssl;
SSL_CTX *ctx;
unsigned short ssl_flags;
const char *keyfile;
const char *password;
const char *dhfile;
const char *cafile;
const char *capath;
const char *crlfile;
const char *randfile;
SSL_SESSION *session;
因此我们可以像在 OpenSSL 库中一样自行设置必要的属性(标志、参数)。在简单的情况下,调用一次 soap_ssl_init()
并设置 ssl_flags = SOAP_SSL_NO_AUTHENTICATION
就足够了。这个对我有用。如果有人知道更好的方法,我会很高兴看到。
最佳答案
这对我有用:
soap_ssl_client_context(m_proxy.soap, SOAP_SSL_NO_AUTHENTICATION, NULL, NULL, NULL, NULL, NULL);
其中 m_proxy 是使用 gSOAP 生成的客户端代理实例:
wsdl2h.exe -o MyWebservice.h ..\MyWebservice.wsdl
soapcpp2.exe -IC:\gsoap-2.8\gsoap\import -j MyWebservice.h -C -1 -SL
关于c++ - 如何在 C++ gSOAP 生成的类中使用 SSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6316007/
我需要在 gsoap 中启用 keep alive。 我尝试通过设置 soap.keep_alive = 1 并为输入/输出模式设置保持事件标志。 但我仍然没有观察到 wireshark 中的 kee
我知道如何为 gsoap 普通代码实现 http get,但是当我使用 gsoap 和 soapcpp2 -i 生成代码时,我没有可用的 soap_serve 函数,我不知道如何/在哪里重新实现 fg
我有一些关于使用 gSOAP 的问题用于解析 XML。如果有人对此有经验,请给我一些帮助。谢谢:D 我以前从不知道 XML,现在我需要将 XML 解析为 C 中的结构。然后我发现了一些使用 gSOAP
我刚开始使用 gsoap。我只使用 c++ 取得了 4 个小成功,但是我当前的项目限制了我设置源代码生成选项来创建纯 ANSI C(不是 c++)。我似乎无法成功调用该服务,错误返回为 0xC0000
您能否举例说明您是如何使用 gSOAP 以及它在您现有架构中的集成程度如何?您是否发现 gSOAP 的开发瓶颈? 最佳答案 我们将 gSOAP 用于一组 ARM 客户端与 AXIS Web 服务服务器
我目前正在使用 gSoap 的 soapcpp2 为我自己的数据类型生成 XML 序列化器/反序列化器。 我只是在头文件中定义我的类型,然后使用以下命令行将其提交到 soapcpp2: soapcpp
第 1 步,我使用 ASP.NET (C#) 创建了一个 WebService: [WebService(Namespace = "http://tempuri.org/")] [WebSer
我使用 gsoap 在我的 C 程序中实现一些 Web 服务。 我像这样使用gsoap: int motion_detector_check_status(const char *endpoint,
我有一个 SOAP 函数,其在 gSOAP 语法中定义为 //gsoap ns service method-documentation: get foo and bar int ns__getFoo
gsoap 生成函数来分配复杂类型,如下所示:soap_new_set_ns1__Date 我找不到如何只对一个整数做同样的事情。整数是可选的,因此必须以类似的方式分配。 谢谢。 最佳答案 您可以使用
我正在使用 gSOAP 从 SOAP 网络服务请求信息 soap 网络服务返回一个对象。我在名为“dataconnector”的调用中执行请求 在数据连接器中,我可以输出返回对象的所有值但除此之外,对
我正在使用带有 g++ 和 qmake 的 gsoap 编译一个程序。经过几个小时的工作,我从编译器中得到了这个错误: /usr/share/gsoap/import/ds.h:89:2: error
我们正在将 gsoap 版本从 2.7.8 升级到最新版本 2.8.33 当我们的 make 文件使用完全相同的标志运行 soapcpp2.exe 和 wsdl2h.exe 时,我没有得到完全相同的类
我目前正在使用 gSoap 库开发应用程序,并且对正确使用库有一些误解。我已经生成了包装我自己的类的代理对象(-j 标志),如下所示。应用程序必须 24/7 全天候工作并同时连接到多个摄像头(约 50
看起来 gSoap“忘记”生成很多东西了。我用过 wsdl2h.exe -o NumOpsService.h http://192.168.2.113/numops.wsdl soapcpp2.exe
我正在尝试构建我的第一个 gSoap 应用程序。即使给出的 calc 示例也无法为我编译。我遵循了自述文件,并执行了以下操作: 使用提供的工具将 wsdl 转换为 header (wsdl2h -s
我有三个网络服务。客户端、服务器和另一个服务器。第一台服务器充当第二台服务器的客户端。现在我有两个服务在同一台机器上运行。这些是单独的服务,但一个使用另一个。但是当我同时使用这两种服务时,会出现命名空
我使用 gSOAP 工具包生成 soap 服务和客户端,它应该发送一个 int 数组,该数组按照 gSOAP 文档中的建议放入结构中: //我的服务.h struct abc { int __
我已经使用 gSOAP 开发了网络服务。其中一种方法返回 json 输出。但是浏览器需要传递 header (Access-Control-Allow-Origin)。 gSOAP 是否支持在发送数据
我有一个带有两个 eth 卡的 Linux 系统。 eth0 和 eth1。我正在创建一个发送的客户端到端点 1.2.3.4。 我使用soap_call_函数发送我的网络服务。如何选择 eth1 而不
我是一名优秀的程序员,十分优秀!