马上要正式工作了,发现学校里面学到的东西真的是不够用啊。刚把python学了个差不多,又要学SOAP。
由于公司之前的项目使用的是C++的SOAP实现,基于gSOAP。所以自己抽空看了一下。
SOAP协议其实就是两个部分,客户端以xml的形式发起请求,对方的服务端以XML的形式返回请求。所以SOAP的实现其实分为服务器和客户端两个部分。
GSOAP比较好的一点就是它给定了代码生成的框架,如果你有标准的接口可以动态的生成对应的程序来实现,你只需要编译一下这个代码就好了。
soapcpp2.exe生成的文件有一大堆,但是不是所有的都用的上。
对于客户端来说,需要的文件是:soapC.cpp soapClient.cpp stdsoap2.cpp 以及你自己写的访问数据的代码
头文件只需要stdsoap2.h
对付服务端来说,稍微复杂一点:
原始的.h文件,生成的nsmap文件
soapC.cpp
soapserver.cpp
stdsoap2.cpp
你实现的服务程序
这两个程序其实是配对使用的,当然在实际的应用中可能是别的公司给你提供了SOAP的协议接口,那就需要你自己根据给定的XML生成客户端程序了。