问题标签 [gsoap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1335 浏览

c++ - 使用 C++ GSOAP 客户端访问 Amazon S3 服务

我开始开发一个使用 SOAP API 访问 Amazon S3 存储的应用程序。

我已经阅读了说明如果文件大小大于 1 MB 则必须使用方法 PutObject 的文档。现在 PutObject 使用 DIME 附件。

是否有人可以向我展示如何使用 GSOAP 为 Amazon S3 的 PutObject 方法执行 DIME 附件的示例代码或示例或代码片段。

由于可移植性,我想使用 GSOAP 并使其通用。出于同样的原因,我不想使用 Amazon 提供的 .NET API。我特别想要 GSOAP,因为我之前曾在 GSOAP 工作过。

谢谢,

大卫

0 投票
2 回答
1469 浏览

c++ - 如何使用适用于 C 和 C++ 的 GSOAP 访问 Amazon AWS S3?

我到处寻找这个,我找不到一个像样的代码。如何使用GSOAP访问Amazon AWS S3服务?

0 投票
1 回答
1924 浏览

.net - 为什么从 gsoap 调用运行在 IIS 7.5 中的 Web 服务时出现 HTTP 400 错误?

我正在尝试调用在 IIS 7.5 内的 Windows 7 机器上运行的 Web 服务。我可以使用soapUI和另一台机器的Java客户端从本地机器调用Web服务,它可以工作。当我尝试在 C 程序中使用 gsoap 框架从远程计算机调用 Web 服务时,我收到 HTTP 400:错误请求。我的请求/回复如下,有什么想法吗?

0 投票
1 回答
1324 浏览

c++ - gsoap - 使用 -lcrypt 编译

我在 c++ 代码下的 ubuntu 中工作。我正在使用 gsoap 来连接服务器。我已经获得了所有必要的数据。我也成功连接到服务器。我仍然有一个问题。为什么需要在命令行中写:g++ test_server.cpp -o testServ libgsoap++.a。如果我确实在我的文件夹中包含了所有依赖项,为什么我需要在命令行中包含 libgsoap++.a?编辑:

如果我不在命令行中包含 libgsoap++.a 我有:

0 投票
0 回答
410 浏览

aes - 使用 AES 256 加密 SOAP 标头

我需要使用 gSoap 编写一个客户端应用程序。服务器期望客户端加密 SOAP 标头。服务器正在使用Basic256算法套件。我读到它相当于 AES 256。

如何使用 AES 256 加密 SOAP 标头?

0 投票
2 回答
2348 浏览

c++ - 如何使用gsoap在c ++中将标头信息传递给soap标头SOAP_ENV__Header

我正在使用 c++ 中的 gsoap 包调用 Web 服务并获取响应。我还必须传递一些标头信息,我不知道该怎么做,因为我的标头是这样的 - /* SOAP Header: */

结构 SOAP_ENV__Header

{

上市:

};

我错过了什么,或者应该只是这样,我们必须在这里进行更改?我在这里阅读了一些信息,但我的标题只是虚拟的。

其次,为了进一步调试,我想启用 DEBUGS,为此,根据用户指南,我已取消注释 stdsoap2.h 中的 DEBUG 宏并再次使用 DEBUG 标志构建,但我无法获得 .log文件被创建。任何想法?

迪帕克

0 投票
3 回答
4218 浏览

soap - Gsoap 未定义的引用

我正在尝试使用 gsoap 和 Web 服务。我已经使用 wsdl2h 和 soapcpp2 生成了所有 *.h 和 *.cpp,包括所有库,至少我是这么认为的,但是当我构建项目时,它给了我对很多方法的未定义引用的消息。问题是所有方法都在soapH.h(原型)和soapC.cpp(实现)中声明。

任何帮助将不胜感激。

0 投票
1 回答
837 浏览

c# - 来自 gSOAP 服务器的异步回调/事件的最佳方法是什么?

我正在设计一个在 Windows CE 设备和 PC 之间使用的 web 服务接口。Windows CE 设备是服务器,PC 是客户端。

我决定使用gSOAP库来实现服务器,并且我使用 .NET/C# 作为客户端。我遵循了此处描述的方法,并且一切正常。

我的问题是关于如何最好地实现从服务器到客户端的异步回调/事件。我可以想到两种方法:

  1. 不断轮询服务器以获取活动事件
  2. 在事件发生之前保持连接打开的阻塞方法

我目前选择了选项 2,它似乎运行良好。我在客户端中使用了一个异步方法,因此在方法完成时得到回调,即当 Windows CE 设备上发生事件时。然后我立即再次调用相同的方法,以便为下一个事件做好准备。

示例服务器方法(无错误处理):

示例客户端(无错误处理):

服务器必须是多线程的,这种方法才能工作,并且客户端的数量应该是有限的,这样服务器就不会有大量的线程挂在阻塞方法上。就我而言,这些问题都不是问题 - 使用 gSOAP 设置多线程服务器很简单,并且每台服务器都只会有一个客户端(我控制它)。

这种方法有什么明显的缺点吗?您能提出更好的解决方案吗?

0 投票
2 回答
3642 浏览

gsoap - 在启用 http-keepalive 的情况下正常关闭(多线程)gSOAP 服务

我有一个启用了 http-keepalive 的多线程 gSOAP 服务。当仍有客户端连接时,如何优雅地关闭服务?

gSoap中提出了一个类似的问题:如何优雅地关闭 Web 服务应用程序?,但答案不包括 http-keepalive 方面:soap-serve 函数将不会返回,直到客户端没有关闭 http-keepalive-session。因此,接受的答案中的第 2 步将阻塞,直到客户端决定关闭连接(或接收超时到期,但短暂的超时会破坏此处所需的 http-keepalive 行为)。

gSOAP 文档中的示例遇到了同样的问题。

到目前为止,我尝试的是为挂在主线程的soap_serve调用中的所有soap结构调用soap_done(),以中断等待http-keepalive的连接,这在大多数情况下都有效,但在极少数情况下会崩溃(a可能是比赛条件),所以这对我来说不是解决方案。

0 投票
2 回答
3973 浏览

c++ - gSOAP WSSE 标头缺少 xmlns 命名空间声明

我在生成 gSOAP 安全标头 (WSSE) 时遇到问题。我已经编译了所有必要的文件并使用以下调用将 WSSE 安全标头添加到请求中:

我的安全标头看起来像这样:

与我提供的服务器规范相比,该行

缺少xmlns:wsse="http...." 和该行

缺少xmlns:wsu="http...."部分。所以我希望看起来像这样:

如何将 xmlns:wsse 和 xmlns:wsu 部分添加到特定行以符合规范?我从服务中得到的错误是:

我查看了 gSOAP 文档,但我能找到的只是如何添加标头,没有关于如何将名称空间定义添加到标头中的项目。

协助将不胜感激。