问题标签 [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 投票
2 回答
5671 浏览

c++ - gSoap:HTTP 标头,内容长度:0

我正在尝试在 c++ 客户端中使用 gSoap 来使用以下代码访问 salesforce.com API:

这没有问题,但是运行时会产生以下错误:

我已经运行了一个数据包捕获,除了 HTTP 标头中的“Content-Length”显示为 0 之外,一切看起来都是正确的:

如果有人对我哪里出错有任何见解,将不胜感激。

我在 Debian 6.0 上使用 gSoap 2.7 使用 g++ 4.4.5 进行编译,如果有帮助的话。

0 投票
2 回答
3075 浏览

c - gSoap生成客户端结构初始化及使用

gSoap 生成的客户端结构初始化和使用(使用 ANSI C 绑定)

阅读gSoap示例和文档后,我找不到任何直接回答此问题的内容。我已经把它整理出来了。这个帖子/答案对列出了问题和我的解决方案。

问题描述:
我正在使用 gSoap 生成的客户端源代码来构建 ANSI C 绑定来访问 Web 服务。作为应用程序接口(在 中定义)提供的“soap_call__”函数的参数 4 和 5soapClient.c通常生成为复杂(嵌套)结构。因为struct ns3__send(第 4 个参数)是输入结构,它必须在调用应用程序中声明、初始化、分配和释放。

例如,给定以下gSoap 生成的原型:

具有以下定义的结构定义(仅查看参数 4)soapStub.h

注意:我已经缩短了名称并减少了结构原始内容的成员数量以简化。

问题:
这个复杂(嵌套)输入结构中的成员和指针如何正确初始化、分配内存、分配值和释放内存,以便它们在调用应用程序中可用?

0 投票
1 回答
3951 浏览

gsoap - GSoap QT未定义对“soap_new”的引用?

我正在尝试在 QT 中使用 gSoap。当我编译我的项目时,我得到:

我的样品 pro 包含:

知道有什么问题吗?

我制作了以下文件:

0 投票
0 回答
486 浏览

c++ - 将 vmware web api 客户端代码编译为可用对象的问题

我正在使用 vmware 的 Web应用程序 api来尝试简单地检索“ServiceContent”对象中的字段。vmware 论坛上有一个如何完成此操作的示例。那里包含的示例对我来说编译得很好,但是在运行简单示例时会出现段错误-特别是跟踪回到soap_serializeheader()函数(我相信这些是在stdsoap2.cpp中定义的)。我的问题是我不知道如何避免这种段错误并且不知道为什么会发生这种情况(因为我几乎逐字逐句地遵循示例). 我正在使用 OS X 工具链(gcc 版本 4.0.1(Apple Inc. build 5465))结合(gsoap 版本 2.7.16)。我尝试了 gsoap 2.8,但得到了相同的结果。以下是我过去到达现在所在位置的过程。

这些是我用来解析 wsdl 的命令:

解析完成后,我使用以下命令进行编译:

这会生成文件 vspC.cpp、vspClient.cpp 和 vspVimBindingProxy.cpp。在内部,这些文件具有相同的函数前缀(即 ns1/ns2 等),因此我的调用与示例中的调用相同。

这是我用来编译 vspC.cpp 和 vspClient.cpp 的命令:

这是我用来编译 stdsoap2.cpp 的命令(如果我不使用 -DWITH_NONAMESPACES 进行编译,我会在链接所有内容时收到关于未定义符号“_namepspaces”的错误):

然后,我将所有内容与测试代码链接在一起(同样,这与示例几乎完全相同,只是进行了更改以正确引用我创建的文件):

这编译正确,但当然无法运行。我在这个vmware 论坛帖子中读到了一个 OS X 用户,他也遇到了麻烦。看来gsoap指南说您不能使用 stdsoap2.cpp 的标头和故障序列化代码,您必须单独编译它们。OS X 帖子中的用户似乎已经这样做了,但是我不确定如何将它们合并到我的测试文件中(他创建了空的 env.h 文件,然后用soap2cpp编译它) - 如果我包含 envH.h我得到了关于与 vspH.h 命名冲突的文件。所以第二个问题是我如何使用soap2cpp正确编译所有存根,这样就不会有命名空间冲突(这是我似乎遇到的)。

我不会提供源代码,因为它显示在用户 stumpr的第一个vwmare 论坛链接上。我不相信问题出在源头上,而是我在使用 g++ 编译期间使用 wsdl2h、soap2cpp 或一些不正确的标志组合的方式。

感谢您查看,希望有人可以解决问题!

编辑我想我可能已经解决了这个问题 - 通过使用 64 位系统(以及一个具有更多内存的系统)。我尝试在 X.6 上使用 -m32 进行编译,但它无法做到(抱怨内存问题)。

希望有人会偶然发现这一点并很高兴知道答案。

0 投票
1 回答
1386 浏览

c++ - gSOAP 在请求完成后删除对象中的引用值

我正在使用 gSOAP 从 SOAP Web 服务请求信息

肥皂网络服务返回一个对象。我在名为“dataconnector”的调用中执行请求

在数据连接器中,我可以输出返回对象的所有值,但除此之外,对象中的所有引用值都是空的。

我做了一些搜索,显然 gSOAP 会删除所有内容,除非您使用 soap_unlink() 从释放链中删除

我试过了,但没有帮助这是我的代码

关于我做错了什么的任何想法?

编辑

nvm 显然您需要取消链接对象的所有单独值

像这样:

没有更简单的方法吗?

0 投票
2 回答
2106 浏览

c++ - VMWare ESX/ESXi CPU 使用率

我正在使用 Visual Studio 2010 和(本机)C++ 尝试提取 VMWare 主机的整体 CPU 使用率,然后是每个正在运行的 VM 的 CPU 使用率。

我已经研究了使用 gSoap 构建 C++ 接口的 VMWare Webservice SDK 4.1,但它的速度慢且笨拙,是一个现实的替代方案(结果 cpp 文件需要 4 小时才能编译并最终成为 70 MB 二进制文件,这将是好的,如果没有一个调用需要几分钟才能执行)。

有人对替代解决方案/sdk 有提示吗?

0 投票
2 回答
9414 浏览

c++ - 对命名空间的未定义引用 - gsoap 错误

我正在工作ubuntuc++代码。

使用gsoapand我已经成功创建, 和文件。当我和他们的文件我收到以下错误:wsdl2h -o header.h http://link1 http://link2.h.cpp.xml#include proxy1.h#include proxy2.hnmsp

如何解决这个错误?当我使用时:我stdsoap2 -i -C -Iimport header.h不能为每个 url 指定不同的命名空间吗?我想提一下stdsoap.cpp在我编译代码时使用的那个。在stdsoap命名空间中称为命名空间。

谢谢

0 投票
2 回答
931 浏览

gsoap - 这个 gSoap 故障消息是什么意思?

我正在使用 gSoap 与 Web 服务进行通信。我正在使用 Qt 创建使用 gSoap 的应用程序。我收到一些电话的以下故障消息

SOAP 1.1 错误:“http://schemas.microsoft.com/net/2005/12/windowscommunicationfoundation/dispatcher”:DeserializationFailed[无子代码]“格式化程序在尝试反序列化消息时抛出异常:反序列化请求正文时出错操作“GetPendingCommands”的消息。文件意外结束。以下元素未关闭:正文、信封。第 2 行,位置 459。

有人可以解释一下这项服务有什么问题吗?

谢谢

帕特尔

0 投票
4 回答
15369 浏览

c++ - 如何在 C++ gSOAP 生成的类中使用 SSL

我需要在 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_contextfunc,但 C++ 生成的类中没有。我应该怎么办?

UPD:我自己解决了这个问题。但它很古怪,非常古怪的方式。gSOAP 生成从 struct soap 继承的 C++ 类,它包含以下属性:

因此我们可以像在 OpenSSL 库中一样自行设置必要的属性(标志、参数)。在简单的情况下,调用soap_ssl_init()一次并设置就足够了ssl_flags = SOAP_SSL_NO_AUTHENTICATION。这个对我有用。如果有人知道更好的方法,我会很高兴看到。

0 投票
3 回答
7544 浏览

linux - gsoap++ 链接错误

我用 gsoap++ 库写了一个肥皂客户端。一旦我将这个编译为独立的测试应用程序,它就编译得很好,但是当我尝试编译这些类(包括在我的项目中)时,我得到了很多链接错误:

等等。在代码块中,它链接罚款......这是我的Makefile:

我链接了所有必要的库 ( -lgsoapssl++ -lssl -lcrypto) 并检查了这些库中的请求函数:

图书馆里有。那么,有什么问题?