gSOAP RESTful实现是否需要定义WSDL

时间:2015-05-19 09:45:36

标签: c++ rest wsdl gsoap

我查看了gSOAP中的示例,其余示例定义了WSDL,然后为客户端和服务器应用程序生成代码。有没有办法在不定义WSDL的情况下使用gSOAP实现RESTful服务?

当我尝试编译下面的示例时,我收到以下错误

" / usr / local / lib / libgsoap ++。a(libgsoap ___ a-stdsoap2_cpp.o):在函数soap_set_error': /home/mtwells/Downloads/gsoap-2.8/gsoap/stdsoap2_cpp.cpp:17314: undefined reference to soap_faultcode'"

因为它正在使用wsdl2h查找生成的代码。

1 #include "plugin/httpget.h"
2 
3
4 int main(int argc, char **argv)
5 {
6     struct soap *soap = soap_new();
7
8     soap_destroy(soap);
9     soap_end(soap);
10     soap_free(soap);
11     return 0;
12 }

https://www.cs.fsu.edu/~engelen/soapdoc2.html#tth_sEc19.38.2

1 个答案:

答案 0 :(得分:1)

  

gSOAP soapcpp2编译器还可以生成用于从头开始实现服务的WSDL定义,即“无需先定义WSDL”。这将“关闭循环”,因为它可以直接从头文件中的集合操作C / C ++操作开发 Web服务,而无需用户分析Web服务详细信息。

根据gSOAP手册1.2,gSOAP soapcpp2编译器可以根据头文件生成所需的客户端和服务器应用程序。这意味着然后您必须自己编写头文件并将其提供给soapcpp2编译器,这不仅会生成服务/客户端应用程序,还会为您生成缺少的wsdl文件,如果你把它包含在选项中!在这种情况下,您不需要wsdl2h工具。

此致