webService调用过程

webService调用过程

ID:37713634

大小:263.00 KB

页数:7页

时间:2019-05-29

webService调用过程_第1页
webService调用过程_第2页
webService调用过程_第3页
webService调用过程_第4页
webService调用过程_第5页
资源描述:

《webService调用过程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、如何调用web服务Web服务简介我们已经知道如何在java端调用web服务(见web服务使用说明文档),但是如何在其他平台的其他客户端调用我们的web服务呢?下面做一下简单介绍并通过Gsoap举一个请求服务的例子。WebService是一种跨平台的解决方案。在通讯过程中,客户端和服务端并不需要知道确切的实现(无论是语言级别还是操作系统平台以及系统结构).系统运行时,服务提供程序提供的外围接口描述地址在系统根目录下的services目录下。如下所示http://ServerIP:ServerPort/AppRoot/services/dwservice?wsdl接下来如何

2、调用并是使用这个服务接口和其他访问标准服务的过程类似。通过gsoapGsoap:一个提供soap协议封装和请求web服务的工具集合。详细参见http://www.cs.fsu.edu/~engelen/soap.html的一个实现版本简单举例。1.获取gsoap安装包http://sourceforge.net/project/showfiles.php?group_id=527811.解压后目录结构2.进入bin目录,找到两个工具如下使用如下命令wsdl2h-c-ooutfile.hinfile.wsdl生成所需的头文件如下:执行wsdl2h-c–oappservic

3、e.hhttp://yourappserver:port/approot/services/dwservice?wsdl结果在该目录下生成appservice.h1.根据头文件生成客户端存根执行命令:soapcpp2-coutfile.h(参数的意思是生成c代码,可选,具体使用方式参见gsoap使用手册)本例中执行下面的操作:soapcpp2-cappservice.h可以看到生成代码如下:在下面目录中找到soap头文件连同上面的文件一同导入到c/c++项目工程中如下(根据情况选择stdsoap2.c还是stdsoap2.cpp)1.建立测试类client.c代码如下:

4、#include#include#include"soapH.h"#include"dwserviceSoap11Binding.nsmap"intmain(void){structsoap*soap=soap_new();struct_ns2__serviceAdapterResponseout;char*url="http://yourserverIp:port/approot/services/dwservice.dwserviceHttpSoap11Endpoint/";struct_ns2__serviceAdapterm

5、sg;msg.xmlPara="

";//soap_set_mode(soap,SOAP_C

6、_MBSTRING);//设置soap编码为UTF-8,防止中文乱码soap->mode

7、=SOAP_C_MBSTRING;soap_set_mode(soap,SOAP_C_MBSTRING);setlocale(0,"chs");if(soap_call___ns3__serviceAdapter(soap,url,"urn:serviceAdapter",&msg,&out)==SOAP_OK){printf(out.return_);printf("OK");system("PAUSE");return0;}return0;}代码注意事项:xmlPara属性的值

8、需要是一个xml。其格式必须符合地纬公司的规定的数据交换格式。其中_ServiceMethod属于关键字其值是地纬公司开放服务函数接口(在服务发布描述文件中说明)对于返回值同样也是一个XML片段。格式按照地纬公司数据交换格式定义。如下:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。