webService调用过程.doc_第1页
webService调用过程.doc_第2页
webService调用过程.doc_第3页
webService调用过程.doc_第4页
webService调用过程.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

如何调用web服务Web服务简介我们已经知道如何在java端调用web服务(见web服务使用说明文档),但是如何在其他平台的其他客户端调用我们的web服务呢?下面做一下简单介绍并通过Gsoap举一个请求服务的例子。WebService是一种跨平台的解决方案。在通讯过程中,客户端和服务端并不需要知道确切的实现(无论是语言级别还是操作系统平台以及系统结构).系统运行时,服务提供程序提供的外围接口描述地址在系统根目录下的services目录下。如下所示http:/ServerIP:ServerPort/AppRoot/services/dwservice?wsdl接下来如何调用并是使用这个服务接口和其他访问标准服务的过程类似。通过gsoap Gsoap : 一个提供soap协议封装和请求web服务的工具集合。详细参见/engelen/soap.html的一个实现版本简单举例。1. 获取gsoap安装包/project/showfiles.php?group_id=527812. 解压后目录结构3. 进入bin目录,找到两个工具如下使用如下命令wsdl2h -c -o outfile.h infile.wsdl生成所需的头文件如下:执行 wsdl2h -c o appservice.h http:/yourappserver:port/approot/services/dwservice?wsdl结果在该目录下生成 appservice.h4. 根据头文件生成客户端存根执行命令:soapcpp2 -c outfile.h (参数的意思是生成c代码,可选,具体使用方式参见gsoap使用手册)本例中执行下面的操作:soapcpp2 -c appservice.h可以看到生成代码如下:在下面目录中找到soap头文件连同上面的文件一同导入到c/c+项目工程中如下(根据情况选择stdsoap2.c 还是stdsoap2.cpp)5. 建立测试类 client.c代码如下:#include #include #include soapH.h#include dwserviceSoap11Binding.nsmap int main(void) struct soap *soap = soap_new(); struct _ns2_serviceAdapterResponse out; char * url = http:/yourserverIp:port/approot/services/dwservice.dwserviceHttpSoap11Endpoint/; struct _ns2_serviceAdapter msg; msg.xmlPara=; / soap_set_mode(soap, SOAP_C_MBSTRING); /设置soap编码为UTF-8,防止中文乱码soap-mode|=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); return 0; return 0;代码注意事项:xmlPara 属性的值需要是一个xml。其格式必须符合地纬公司的规定的数据交换格式。其中_Service

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论