我想为 Gsoap 制作自己的头文件,因为我没有任何 wsdl(或从中生成头文件的网站(。我需要在头文件中提及哪些内容?
我按照 https://www.genivia.com/dev.html 中提到的步骤进行操作,但不断收到错误,因为soap_serve(soap_new()) function is not defined in stdsoap2.cpp
。另外,我不确定我是否需要提及所有评论,例如:
// gsoap ns service name: ...
// gsoap ns service namespace: ...
任何帮助将不胜感激!
编辑:
这是我在卡住之前到目前为止所做的:
从上述网站,我下载了 Gsoap 并更改了环境变量以运行 wsdl2h 和 soapcpp2。然后我尝试了他们的一个例子(hello.h,hello.cpp(
我按照链接上提到的方式制作了头文件,并再次运行了"soapcpp2 hello.h",如前所述(使用 VS2017 的开发人员环境(。
然后我按照链接打招呼.cpp并使用他们的语句
c++ -o hello.cgi hello.cpp soapC.cpp soapServer.cpp stdsoap2.cpp
但用 cl 替换了 c++,用/Fe 替换了 -o。由于没有生成 stdsoap2.cpp,我复制了该文件及其标头并将其粘贴到我的当前目录中。
现在新的错误提到了
soap_serve(soap_new()) is not defined
,一旦我查看了 stdsoap2 文件,就不是。
不知道是什么导致了问题以及如何让它正常运行,因为我是 Gsoap 和 WSDL 的新手。
希望这个描述有帮助!
No WSDL?也许gSoap不是一个好的选择。
你介意试试网络吗?它是一个基于 Boost.Asio 的轻量级 C++ REST 和 SOAP 客户端和服务器库。在example
文件夹中,您可以找到很好的例子。