原理大家都知道,直接看代码:
(注明:在其他网站可能会看到同样内容的文章,不是抄袭,都是本人之作。只不过看那个网站不顺眼,把文章移到这上面来了)
对于一个C程序员来说,写webservice是件比较头痛的事。好在MS下有相应的Toolkit,在VC2003开始,编译环境已经集成了相关功能,
点"Project->Add Web Reference",显示一个对话框,把一.个wsdl的地址写上,会自动分析生成相关的C++的 class,然后就可以用了。
开源软件,有个很不错的产品叫gSoap,使用起来应该更简单,google上能找出很多文章来介绍。这个产品是多平台的,最简单的使用方法就是下
载其二进制文件,一共有两个,wsdl2h 和soapcpp2,看名字就知道了, 前者把wsdl转成.h,后者再根据这个.h生成相关的class
或函数。用的时候,把生成的几个.h,.c放在自己的工程目录下,再到gSoap源码中找出stdsoap2.h和stdsoap2.cpp,都放进工
程,不用引入任何lib或dll,直接使用就可以了。stdsoap2.cpp这里面已经实现了socket的通信功能。
MS自己的soap功能已经淘汰一些不太安全的方式,所以有些webservice解析出错,比如最近用到的一个关于rpc的,MS不支持。gSoap兼容性相对好一些, 可以用。
而且,gSoap最大的好处,就是可以跟踪调试源码,比如提交时的HTTP字符串内容&