ver,argv[3],sizeof(server)); 23.num1=atoi(argv[1]); 24.num2=atoi(argv[2]); 25.result=add(server,num1,num2,&sum); 26.if(result!=0) 27.{ 28.printf("soaperr,errcode=%d\n",result); 29.} 30.else 31.{ 32.printf("%d+%d=%d\n",num1,num2,sum); 33.} 34.return0; 35.} 36. 37.intadd(constchar*server,intnum1,intnum2,int*sum) 38.{ 39.structsoapadd_soap; 40.intresult=0; 41.soap_init(&add_soap); 42.//soap_set_namespaces(&add_soap,add_namespaces); 43.//该函数是客户端调用的主要函数,后面几个参数和add.h中声明的一样,前面多了3个参数, 44.//函数名是接口函数名ns__add前面加上soap_call_ 45.soap_call_ns__add(&add_soap,server,"",num1,num2,sum); 46.if(add_soap.error) 47.{ 48.printf("soaperror:%d,%s,%s\n", 49.add_soap.error,*soap_faultcode(&add_soap),*soap_faultstring(&add_soap)); 50.result=add_soap.error; 51.} 52.soap_end(&add_soap); 53.soap_done(&add_soap); 54.returnresult; }
1、向client工程添加其他文件,
add.h、soapH.h、soapStub.h、stdsoap2.h、soapC.cpp、soapClinet.cpp、stdsoap2.cpp
2、编译工程client,如果有编译错误,修改编译错误。
3、工程编译成功后,
打开cmd,进入client.exe的目录,运行client.exe 1 2http://localhost:4567
执行结果会出现在cmd窗口:1+2=3
4、如果server.exe与client.exe两个文件在两台不同的电脑上,
那么将client.exe的参数改为响应的IP地址即可
五、 测试结果
六、 结束
这里用C++实现了Webservice的服务端和客户端通讯功能,如何使用C++调用第三方的提供的Webservice服务呢,会在另外的文章中再介绍。
|