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

soap - gsoap - SOAP Header 中的 WS-Addressing 元素

我需要在我的 Soap 标头中添加 WS Addressing(我正在使用 gsoap 框架)。有没有办法自动添加?我查阅了 gsoap 文档,但没有找到任何相关信息。所以现在我已经手动将 WS-Addressing 添加到我的 SOAP_ENV_Header 中,如下所示

但我想自动生成它,因为我必须向 Soap Header 添加一些其他结构,这些结构是从我的 wsdl/xsd 文件自动生成的。

谢谢

0 投票
1 回答
2659 浏览

web-services - WCF 和 gSOAP - 可互操作的代码?

我正在尝试使用 SOAP 1.2 协议编写一个简单的 WCF 服务器 + gSOAP 客户端概念验证应用程序。这是服务器代码:

然后我启动服务并使用以下命令生成代码:

然后我编译以下 C++ 代码:

这会生成错误 8 (SOAP_MUSTUNDERSTAND)。有没有人曾经生成工作 WCF 到 gSOAP 链接?我究竟做错了什么?

0 投票
0 回答
4162 浏览

xml - 考虑到 WSDL 合规性和性能,在 gsoap 中做数组的最佳方法

我正在使用 gsoap 生成 XML SOAP 解析器和 WSDL 语法,并且想知道什么是推荐的方法来表达一个静态数组,它既可以快速解析又可以生成通过所有验证测试的相应 WSDL(如 Eclipse WSDL Validator或 NetBeans 验证 XML)。

如果我将此输入用于 gsoap:

我得到了这个生成的 WSDL(在定义/类型/模式标签内):

通过 NetBeans "Validate XML" 运行它会出现以下错误:

  • 错误:src-resolve:无法将名称“SOAP-ENC:Array”解析为(n)“类型定义”组件。

Eclipse WSDL Validator 给出了这两个错误:

  • WS-I:(BP2108) Array 声明使用 - 限制或扩展 - soapenc:Array 类型,或在类型声明中使用 wsdl:arrayType 属性。
  • WS-I:(BP2122) wsdl:types 元素包含不是 XML 模式定义的数据类型定义。

我可以通过更改 gsoap 代码来定义动态数组来清除这些错误:

(带有相应的 WSDL :)

但是现在我失去了使用静态数组的性能提升。是否有其他方法可以在保持合规性的同时保持性能?

0 投票
3 回答
1829 浏览

c++ - 测试 gSOAP 服务器

在正常的客户端/服务器设计中,客户端可以执行在服务器端实现的功能。是否可以通过将额外的客户端连接到 gSOAP 服务器来测试它?

0 投票
5 回答
1012 浏览

soap - 您在哪里使用过 gSOAP?

您能否举例说明您是如何使用 gSOAP 以及它在您现有架构中的集成程度如何?您是否发现 gSOAP 的开发瓶颈?

0 投票
1 回答
664 浏览

web-services - Web 服务端口 没有问题

我正在使用 gsoap 开发一个 Web 服务项目。我是 Web 服务的新手,有一些基本问题。

端口号应该是什么。我的网络服务?目前,这个 Web 服务是一个独立的服务,监听一个硬编码的端口号。22050。客户端连接到此端口,一切正常。这种方法可以吗?这种方法的优点/缺点是什么?

或者我的 web 服务应该是 apache web 服务器的插件吗?在那种情况下它是如何工作的?Apache httpd 侦听端口 80,因此客户端向该端口发送请求。那么请求是如何被路由到我的网络服务的呢?

我没有找到任何合适的在线资源。任何指针都会很棒。

0 投票
1 回答
1825 浏览

xml - gsoap 类生成问题

我正在尝试为 JIRA 问题跟踪系统 WSDL 生成 gsoap 类。我运行这些命令来生成所需的类:

soapcpp2 命令给出以下输出,但没有说明如何修复它。

这些是(大部分)错误:

这是 JIRASoap.h 的相关部分(第 928-947 行):

当我尝试编译我的程序时,我收到了这个错误:

soapStub.h:2799:错误:ISO C++ 禁止声明没有类型的“ArrayOf_USCORExsd_USCOREbase64Binary”

以下是 WSDL 的相关部分:

据我所知,大多数类型都在soapStub.h 中定义,但ArrayOf_USCORExsd_USCOREbase64Binary 不是。

当我生成仅 C 文件时,我得到“struct /*?*/”而不是“ArrayOf_USCORExsd_USCOREbase64Binary”。

0 投票
1 回答
955 浏览

c++ - 使用 gSOAP 进行 VS 2003/C++ 访问具有 WS-Security 的 SOAP Web 服务?

我们有一个即将推出的项目,以允许只能使用 C++/VS 2003 扩展的旧平台调用使用 WS-Security 的基于 SOAP 的 Web 服务。

我的 Google 研究表明gSOAP可能是最好的方法。

我正在寻找验证和/或替代建议。

0 投票
4 回答
655 浏览

c++ - 网络编程:SOAP 与 DIY 编组与 XML 库?

我知道已经有很多关于 SO 的讨论,包括 SOAP、膨胀、XML 和 REST 等替代机制。

这是情况。一个新的团队成员真的在谈论基于手工实现协议的难度的 SOAP。他推荐使用 gSOAP(项目全部使用 C++)。他说的是 WSDL 之类的东西可以清理大量杂乱的手工编码 C++。

现在,我正在处理大多数使用基于 XML 的文本消息和 expat XML 库的网络。所以我有一些与修改消息格式或添加参数列表相关的编程工作(不多)。在发送端,我打包一个 XML 请求并通过一个普通的旧 TCP 套接字发送它。在接收方,我使用 DOM 或 SAX 解析 XML。等等。到目前为止它运行良好。XML 消息非常紧凑,平均最多只有几百个字符。我理解这些信息中的每一项。

我们希望使用 PHP 编码的网站可以访问产品的一部分(服务器)。这在一定程度上推动了这个想法,即 SOAP 接口对于脚本编写者来说将“更容易”。这个项目的每个人都相信 SOAP 是他们的救赎。

我认为像 gSOAP 这样的新大型库的引入对成熟项目的发展势头具有极大的破坏性。

我想知道的是,是否有一种不同的、更紧凑的方式来做 SOAP 给我们的事情。以及如何平衡 gSOAP 或其他 SOAP 工具的主张,使开发生活更轻松与严峻的现实。

IE,有人告诉我 WSDL 比使用 XML 库手动编码 C++ 更好、更容易、更熟练等。它将 C++ 对象的语义直接放入网络消息的声明中。问题是,我定义的许多 XML 消息在接收端并没有一对一地映射到单个不同的对象。

或者,我可能什么都不担心。

但是,当我在这里扫描消息时,现实似乎与我在当地被告知的内容相矛盾。

0 投票
5 回答
5659 浏览

soap - 在哪里可以找到 gSOAP 生成的 WSDL 文件

我收到了在 gSOAP/2.7 上运行的 Web 服务的 url(根据 HTTP 标头决定)。问题是他们没有向我提供 WSDL 文件。如果服务地址是http://www.host.com/,任何人都知道我应该查找 WSDL 的默认 URL