我查看了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
答案 0 :(得分:1)
gSOAP soapcpp2编译器还可以生成用于从头开始实现服务的WSDL定义,即“无需先定义WSDL”。这将“关闭循环”,因为它可以直接从头文件中的集合操作C / C ++操作开发 Web服务,而无需用户分析Web服务详细信息。
根据gSOAP手册1.2,gSOAP soapcpp2编译器可以根据头文件生成所需的客户端和服务器应用程序。这意味着然后您必须自己编写头文件并将其提供给soapcpp2编译器,这不仅会生成服务/客户端应用程序,还会为您生成缺少的wsdl文件,如果你把它包含在选项中!在这种情况下,您不需要wsdl2h工具。
此致