delphi开发webservice经验总结

delphi开发webservice经验总结

ID:30777936

大小:519.80 KB

页数:10页

时间:2019-01-03

delphi开发webservice经验总结_第1页
delphi开发webservice经验总结_第2页
delphi开发webservice经验总结_第3页
delphi开发webservice经验总结_第4页
delphi开发webservice经验总结_第5页
资源描述:

《delphi开发webservice经验总结》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、4.4.1Webservice接口文件的导入>找到接口定义字符串http://del1/QAMonitorScrvice/UserScrvice.asmx打开CB6,选择菜单File—New—Other,选择Webservices标签,选择WSDLimporter,弹出如下界面:>在LocationofWSDLFileorURL:输入框内键入如下内容http://de11/QAMonitorService/UserService.asmx?WSDL,点击Next.>在弹出的窗体上直接点击Finish结朿导入。4.4.2结果集编码的修改>在

2、导入文件的.h文件内,找到如下接口定义区:—interfaceINTERFACE_UUID(〃{D39DB2B8-0F06-4033-57F6-171B17D23873}“)UserSystemSoap:publicTinvokable>找到Get**Resault定义,如:virtualGetUserByAccountNameResult*GetUsorByAccountName(constAnsiStringaccountName)=0;>将返回类型GetUserByAccountNameResult*改为WideString类型vi

3、rtualWideStringGetUserByAccountName(constAnsiStringaccountName)二0;4.4.3提交数据中含有中文乱码的修改>在导入文件的.cpp文件那,找到如下位置if(useWSDL)!rio->WSDLLocation=addr;rio->Service=defSvc;rio->Port二defPrt;}>改为如下内容,新添加两行蓝色字体部分,if(useWSDL)!rio->WSDLLocation=addr;rio~>Service=defSvc;rio->Port=defPrt;r

4、io->Converter->0ptions«soUTF8InHeader;rio->HTTPWebNode->UseUTF8InHeader=true;}4.4.4ClientDataSet的导入>添加一个数据模块,在数据模块上添加如下控件:XMLTransformProvider>ClientDataSet、DataSource>设置ClientDataSet.ProviderName=XMLTransformProviderDataSource.DataSet=ClientDataSet>将返回的结果集保存为xml文件(1)。>生成

5、xml文件的解释文件.xtr文件⑵。>设置TXMLTransfotin*XMLTransfonn=XMLTransformProvider->TransfooiRead;XMLTransform->SourceXml=xml文件;XMLTransform->TransformationFile=xtr文件;XMLTransform1->TransformXML(xml,"”);ClientDataSetl->XMLData=XMLTransform1->Resu11String;ClientDataSet->Active=true;(1)

6、将返回的结果集保存为xml文件。用本地类classWebServiceBase的公有方法virtualvoidfastcallSavcXML(WidcStringxml,StringFi1eName);实现如下:void_fastcallclassWebServiceBase::SaveXML(WideStringxml,StringFileName){StringstrXml=UTF8Encode(xml);TFileStream*pF订e二newTFileStream(FileName,fmCreate);char*tmpStr=st

7、rXml.c_str();pFile_>Write((void*)tmpStr,strXml.Length());deletepFile;}调用如下:SaveXML(xml,"c:\project.xml");参数说明:WideStringxml为需要保存的xmlWebservice返回内容。StringFileName为xml要保存的位置。⑵生成xtr文件打开C++Builder,选择菜单Tools—XMLMappero在弹出的窗口内选择File—Open,打开保存的XML文件,选择含有DataSet的节点(有黄色边框),如下图:点击

8、鼠标右键,选择SelectAl1ChildrenSelectedNodeb!^result日•⑥x$:schema日“⑥xs:element[x]日•⑥x$:complexType曰•⑥x$:

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

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

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