问题标签 [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 回答
1184 浏览

c++ - gSoap,C++,如何在客户端应用程序中传递一个soapStub声明的参数

包含以下摘录的项目是一个使用 gsoap 生成的 c 绑定 (gsoap - www.cs.fsu.edu/~engelen/soap.html) 的客户端应用程序该项目构建良好,但在下面指示的主函数中中断。

在项目头文件中定义:

并在随附的 .cpp 文件中定义:

在我的 main() 中,我声明服务以提高可读性:

这是我的 main.cpp

任何人都知道我在将字符串分配给 pInput 时做错了什么?

谢谢

0 投票
3 回答
3176 浏览

c++ - gSoap:如何优雅地关闭 Web 服务应用程序?

我正在使用 gSoap 编写网络服务。它作为控制台应用程序运行。在我看到的所有 gSoap 示例中,即使在多线程版本中,请求也会像 for(;;;) 这样在无限循环中分派。

但是,当用户按下控制台上的空格键时,如何让我的 Web 服务正常终止?

最好:

  1. 停止接受新连接;
  2. 服务现有的;
  3. 退出应用程序
0 投票
1 回答
1303 浏览

c++ - soapcpp2 版本 2.8.1 缺少文件

我有一个应用程序必须使用 SOAP 与 SmartServer 进行通信,SmartServer 是嵌入式设备。它接受的 SOAP 消息没有名称空间,但 gSAOP 发送它们时带有名称空间。所以它们看起来像这样:

而不是这个:

我首先尝试将 WSDL 和 XSD 文件中的合格更改为不合格,然后重新生成文件,并将不合格更改为合格。但我得到的最好的是

哪个看起来更好,但列表仍然带有名称空间。

然后我发现这个网站说我必须使用 SOAP_XML_DEFAULTNS 选项,所以我尝试了。这在开始时不起作用,但后来我发现我必须使用版本 2.8.1 而不是 2.7.9l-0.2(Debian 的标准版本)。所以我卸载了 Debian 版本并下载了 2.8.1 并复制了文件。但是现在当我尝试使用 soapcpp2 生成文件时,缺少以下文件:soapClient.cpp、soapClientLib.cpp、soapProxy.h 以及许多 *.req.xml 和 *.res.xml 文件。我特别需要soapClient.cpp 文件来编译我的项目。

我尝试了 gsoap/bin 目录中的标准二进制文件,并按照 INSTALL.txt 中的描述从 gsoap 目录中重建了 src 和 wsdl 文件,但是这些都不是我想要的。

任何人都可以进一步帮助我吗?

如果重要的话,我使用的是 Debian Linux 5.0.8 版(Lenny,旧稳定版)32 位。

0 投票
1 回答
4820 浏览

c++ - gSOAP 命名空间前缀问题

我注意到有几个人问过这个问题,但我一直未能找到满意的答案。我正在使用 gSOAP 从 wsdl 文档创建 c++ 存根。问题是gSOAP 在发送soap 消息时将命名空间作为soap 方法名称的前缀。例如它<ns2:Inform></ns2:Inform>在需要发送时发送<Inform></Inform>

有谁知道如何解决这个问题?

编辑:

下面选择的答案起初对我不起作用,因为我使用的是 c++ 代理版本,但我所要做的就是使用以下代码创建我的服务对象,

exampleSOAPProxy service=exampleSOAPProxy(SOAP_XML_DEFAULTNS,SOAP_XML_DEFAULTNS);SOAP_XML_DEFAULTNS 是一个令人困惑的名称,因为它实际上并没有对所有内容使用默认名称空间,它只是从元素中删除名称空间前缀并将名称空间显式添加到每个元素。

在编译我的应用程序时,我需要将 -DWITH_SOAPDEFS_H 添加到我的编译/链接语句中。注意我需要在 /usr/local/include/ 中创建一个名为 soapdefs.h 的文件,因为它会在您设置 -DWITH_SOAPDEFS_H 标志时被导入。它只是一个头文件,用于向 stdsoap2.h 添加包含和声明

0 投票
1 回答
2336 浏览

c - gsoap ANSI C - 正确使用 gsoap 定义的 ANSI C 客户端调用存根

我是使用 gsoap 的新手。我仅使用 c++ 取得了 4 个小成功,但是受到我当前项目的限制,无法设置源代码生成选项来创建纯 ANSI C(不是 c++)。我似乎无法成功调用该服务,错误返回为 0xC0000005 并给出以下代码片段,任何人都可以就我应该做的不同提出建议:

片段包括
1.客户端函数定义,
2.ns7结构def,
3.简单调用应用程序:
谢谢,

这是客户端调用:

这是ns7结构:

这是一个使用客户端调用的简单应用程序调用服务:

0 投票
1 回答
4368 浏览

web-services - 如何在 Ubuntu 中部署 gSOAP Web 服务?

我对在 Ubuntu 中部署 Web 服务有疑问。它是使用 gSOAP 实现的,并且应该被部署,例如可以从网站访问(例如在 ASP .NET 中开发的)。

我对整个 CGI、Ubuntu、Apache 主题感到困惑。到目前为止,我能够在 ASP .NET 中实现 Web 服务并将其部署在 Microsoft ISS 上。除此之外,我还可以使用 ASP .NET 访问 WSDL 中描述的 gSOAP Web 服务

部署我自己的 Web 服务的步骤是什么?我有一些更具体的问题:

  1. 我必须将 WS 编译为 CGI 吗?
  2. 我必须在 Ubuntu 中安装 Apache 还是该服务已经启用?
  3. 我必须将生成的 WS 编译代码(我猜是“CGI”)放在哪个目录中?

对于 gSOAP 和整个“Web 服务世界”,我还是个新手,尤其是在 Ubuntu 中...

非常感谢您!

0 投票
2 回答
3878 浏览

qt - 在 Win 7 上使用 gsoap 和 Qt 4.6 编译示例应用程序

我正在尝试编译 gsoap网站中解释的 calc 示例,但没有成功。这是我的 .pro 文件的外观。

当我编译应用程序时,我得到 93 个未定义的引用。以下是其中的几个

看来我缺少一些网络库。有人可以帮我编译这个例子。

谢谢。

0 投票
1 回答
906 浏览

gsoap - 试图理解 gsoap

我正在使用 gsoap 创建我的第一个 Web 服务客户端。我能够运行 gsoap 提供的 calc 示例。

现在我正在尝试从 WCF Webservice 访问 String GetData() 函数。我执行了 wsdl2h 和 soapcpp2 步骤并生成了 .h 文件。在 xxxxproxy.h 我看到 GetData 的原型如下

谢谢。

0 投票
1 回答
5507 浏览

multithreading - 多线程 gSOAP 服务

存根/骨架编译器有没有办法生成线程服务(即通过为每个请求生成一个线程或通过线程池)或者我必须手动添加soap_copy(),pthread_create()...

我知道——根据常见问题解答和用户指南 7.2.4——gSOAP 是线程安全的,并且确实支持多线程服务。但是,使用 soapcpp2 -i 标志我最终得到

有什么提示吗?

0 投票
1 回答
5316 浏览

c - gSoap - service call returns with SOAP_OK, but return struct uninitialized

This is a dereference of null pointer problem - in both the ANSI C & gSoap domains:

I am using the following public WSDL:

and have tested its behavior using soapUI.
I created client-side only ANSI C bindings using the wsdl2h and soapcpp2 utilities.

The problem:

In previous gsoap projects, results structures in the client soap_call functions (the fifth argument) required no initialization other than something like:

this has always been sufficient until this project.
The client soap_call looks like this:

pIn for this project is defined as a char *, populated with a two character IANA code such as "us", or "nz". The return structure pOut for this particular call is shaped like this:

With ns1__CountryData shaped like this:

A call to this function from my application is therefore set up like this:

The error occurs at pO->countryinfo as a dereference of null pointer

GetCountryInfo is defined here:

Other gSoap projects using similar output structure shapes (i.e. structures containing structures containing char *) returned fully populated results when initialized with nothing other than what I have shown above.

Any ideas? Please let me know if I can provide any further details. Thanks.